0 JBC
↳1 JBCToGraph (⇒, 950 ms)
↳2 JBCTerminationGraph
↳3 TerminationGraphToSCCProof (⇒, 20 ms)
↳4 AND
↳5 JBCTerminationSCC
↳6 SCCToIDPv1Proof (⇒, 100 ms)
↳7 IDP
↳8 IDPNonInfProof (⇒, 80 ms)
↳9 AND
↳10 IDP
↳11 IDependencyGraphProof (⇔, 0 ms)
↳12 TRUE
↳13 IDP
↳14 IDependencyGraphProof (⇔, 0 ms)
↳15 TRUE
↳16 JBCTerminationSCC
↳17 SCCToIDPv1Proof (⇒, 160 ms)
↳18 IDP
↳19 IDPNonInfProof (⇒, 140 ms)
↳20 AND
↳21 IDP
↳22 IDependencyGraphProof (⇔, 0 ms)
↳23 TRUE
↳24 IDP
↳25 IDependencyGraphProof (⇔, 0 ms)
↳26 TRUE
↳27 JBCTerminationSCC
↳28 SCCToIDPv1Proof (⇒, 480 ms)
↳29 IDP
↳30 IDPNonInfProof (⇒, 260 ms)
↳31 AND
↳32 IDP
↳33 IDependencyGraphProof (⇔, 0 ms)
↳34 TRUE
↳35 IDP
↳36 IDependencyGraphProof (⇔, 0 ms)
↳37 TRUE
↳38 JBCTerminationSCC
↳39 SCCToIDPv1Proof (⇒, 540 ms)
↳40 IDP
↳41 IDPNonInfProof (⇒, 300 ms)
↳42 IDP
↳43 IDependencyGraphProof (⇔, 0 ms)
↳44 TRUE
↳45 JBCTerminationSCC
↳46 SCCToIDPv1Proof (⇒, 940 ms)
↳47 IDP
↳48 IDPNonInfProof (⇒, 670 ms)
↳49 AND
↳50 IDP
↳51 IDependencyGraphProof (⇔, 0 ms)
↳52 TRUE
↳53 IDP
↳54 IDependencyGraphProof (⇔, 0 ms)
↳55 TRUE
↳56 JBCTerminationSCC
↳57 SCCToIDPv1Proof (⇒, 1920 ms)
↳58 IDP
↳59 IDPNonInfProof (⇒, 1020 ms)
↳60 AND
↳61 IDP
↳62 IDependencyGraphProof (⇔, 0 ms)
↳63 IDP
↳64 UsableRulesProof (⇔, 0 ms)
↳65 IDP
↳66 IDPNonInfProof (⇒, 20 ms)
↳67 AND
↳68 IDP
↳69 IDependencyGraphProof (⇔, 0 ms)
↳70 TRUE
↳71 IDP
↳72 IDependencyGraphProof (⇔, 0 ms)
↳73 TRUE
↳74 IDP
↳75 IDependencyGraphProof (⇔, 0 ms)
↳76 IDP
↳77 UsableRulesProof (⇔, 0 ms)
↳78 IDP
↳79 IDPNonInfProof (⇒, 30 ms)
↳80 AND
↳81 IDP
↳82 IDependencyGraphProof (⇔, 0 ms)
↳83 TRUE
↳84 IDP
↳85 IDependencyGraphProof (⇔, 0 ms)
↳86 TRUE
public class TaylorSeriesRec {
public static int power(int a, int b) {
if (b <= 0) return 1;
else return a * power(a, b-1);
}
public static int fact(int n) {
if (n <= 0) return 1;
else return n * fact(n-1);
}
public static int sin(int x, int n) {
if (n <= 0) return x;
else return power(-1, n) * power(x, 2*n+1) / fact(2*n+1) + sin(x, n-1);
}
public static int cos(int x, int n) {
if (n <= 0) return 1;
else return power(-1, n) * power(x, 2*n) / fact(2*n) + cos(x, n-1);
}
public static int exp(int x, int n) {
if (n <= 0) return 1;
else return power(x, n) / fact(n) + exp(x, n-1);
}
public static void main(String args[]) {
for (int i = 0; i < args.length; i++)
if (i % 2 == 0) sin(args.length, i);
else if (i % 3 == 0) cos(args.length, i);
else if (i % 5 == 0) exp(args.length, i);
else for (int j = 0; j < 100; j++);
}
}
Generated 10 rules for P and 11 rules for R.
P rules:
1175_0_fact_GT(EOS(STATIC_1175), i214, i214) → 1183_0_fact_GT(EOS(STATIC_1183), i214, i214)
1183_0_fact_GT(EOS(STATIC_1183), i214, i214) → 1197_0_fact_Load(EOS(STATIC_1197), i214) | >(i214, 0)
1197_0_fact_Load(EOS(STATIC_1197), i214) → 1206_0_fact_Load(EOS(STATIC_1206), i214, i214)
1206_0_fact_Load(EOS(STATIC_1206), i214, i214) → 1220_0_fact_ConstantStackPush(EOS(STATIC_1220), i214, i214)
1220_0_fact_ConstantStackPush(EOS(STATIC_1220), i214, i214) → 1231_0_fact_IntArithmetic(EOS(STATIC_1231), i214, i214, 1)
1231_0_fact_IntArithmetic(EOS(STATIC_1231), i214, i214, matching1) → 1242_0_fact_InvokeMethod(EOS(STATIC_1242), i214, -(i214, 1)) | &&(>(i214, 0), =(matching1, 1))
1242_0_fact_InvokeMethod(EOS(STATIC_1242), i214, i230) → 1252_1_fact_InvokeMethod(1252_0_fact_Load(EOS(STATIC_1252), i230), i214, i230)
1252_0_fact_Load(EOS(STATIC_1252), i230) → 1261_0_fact_Load(EOS(STATIC_1261), i230)
1261_0_fact_Load(EOS(STATIC_1261), i230) → 1167_0_fact_Load(EOS(STATIC_1167), i230)
1167_0_fact_Load(EOS(STATIC_1167), i206) → 1175_0_fact_GT(EOS(STATIC_1175), i206, i206)
R rules:
1175_0_fact_GT(EOS(STATIC_1175), matching1, matching2) → 1182_0_fact_GT(EOS(STATIC_1182), 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1182_0_fact_GT(EOS(STATIC_1182), matching1, matching2) → 1195_0_fact_ConstantStackPush(EOS(STATIC_1195), 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
1195_0_fact_ConstantStackPush(EOS(STATIC_1195), matching1) → 1204_0_fact_Return(EOS(STATIC_1204), 0) | =(matching1, 0)
1252_1_fact_InvokeMethod(1204_0_fact_Return(EOS(STATIC_1204), matching1), i214, matching2) → 1292_0_fact_Return(EOS(STATIC_1292), i214, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1252_1_fact_InvokeMethod(1449_0_fact_Return(EOS(STATIC_1449)), i214, i287) → 1494_0_fact_Return(EOS(STATIC_1494), i214, i287)
1292_0_fact_Return(EOS(STATIC_1292), i214, matching1, matching2) → 1302_0_fact_IntArithmetic(EOS(STATIC_1302), i214) | &&(=(matching1, 0), =(matching2, 0))
1302_0_fact_IntArithmetic(EOS(STATIC_1302), i214) → 1367_0_fact_IntArithmetic(EOS(STATIC_1367), i214)
1367_0_fact_IntArithmetic(EOS(STATIC_1367), i214) → 1435_0_fact_IntArithmetic(EOS(STATIC_1435), i214)
1425_0_fact_Return(EOS(STATIC_1425), i214, i269) → 1435_0_fact_IntArithmetic(EOS(STATIC_1435), i214)
1435_0_fact_IntArithmetic(EOS(STATIC_1435), i214) → 1449_0_fact_Return(EOS(STATIC_1449)) | >=(i214, 1)
1494_0_fact_Return(EOS(STATIC_1494), i214, i287) → 1425_0_fact_Return(EOS(STATIC_1425), i214, i287)
Combined rules. Obtained 1 conditional rules for P and 3 conditional rules for R.
P rules:
1175_0_fact_GT(EOS(STATIC_1175), x0, x0) → 1252_1_fact_InvokeMethod(1175_0_fact_GT(EOS(STATIC_1175), -(x0, 1), -(x0, 1)), x0, -(x0, 1)) | >(x0, 0)
R rules:
1175_0_fact_GT(EOS(STATIC_1175), 0, 0) → 1204_0_fact_Return(EOS(STATIC_1204), 0)
1252_1_fact_InvokeMethod(1204_0_fact_Return(EOS(STATIC_1204), 0), x1, 0) → 1449_0_fact_Return(EOS(STATIC_1449)) | >(+(x1, 1), 1)
1252_1_fact_InvokeMethod(1449_0_fact_Return(EOS(STATIC_1449)), x0, x1) → 1449_0_fact_Return(EOS(STATIC_1449)) | >(+(x0, 1), 1)
Filtered ground terms:
1175_0_fact_GT(x1, x2, x3) → 1175_0_fact_GT(x2, x3)
Cond_1175_0_fact_GT(x1, x2, x3, x4) → Cond_1175_0_fact_GT(x1, x3, x4)
1449_0_fact_Return(x1) → 1449_0_fact_Return
Cond_1252_1_fact_InvokeMethod1(x1, x2, x3, x4) → Cond_1252_1_fact_InvokeMethod1(x1, x3, x4)
Cond_1252_1_fact_InvokeMethod(x1, x2, x3, x4) → Cond_1252_1_fact_InvokeMethod(x1, x3)
1204_0_fact_Return(x1, x2) → 1204_0_fact_Return
Filtered duplicate args:
1175_0_fact_GT(x1, x2) → 1175_0_fact_GT(x2)
Cond_1175_0_fact_GT(x1, x2, x3) → Cond_1175_0_fact_GT(x1, x3)
Filtered unneeded arguments:
Cond_1252_1_fact_InvokeMethod(x1, x2) → Cond_1252_1_fact_InvokeMethod(x1)
Cond_1252_1_fact_InvokeMethod1(x1, x2, x3) → Cond_1252_1_fact_InvokeMethod1(x1)
Combined rules. Obtained 1 conditional rules for P and 3 conditional rules for R.
P rules:
1175_0_fact_GT(x0) → 1252_1_fact_InvokeMethod(1175_0_fact_GT(-(x0, 1)), x0, -(x0, 1)) | >(x0, 0)
R rules:
1175_0_fact_GT(0) → 1204_0_fact_Return
1252_1_fact_InvokeMethod(1204_0_fact_Return, x1, 0) → 1449_0_fact_Return | >(x1, 0)
1252_1_fact_InvokeMethod(1449_0_fact_Return, x0, x1) → 1449_0_fact_Return | >(x0, 0)
Performed bisimulation on rules. Used the following equivalence classes: {[1204_0_fact_Return, 1449_0_fact_Return]=1204_0_fact_Return}
Finished conversion. Obtained 2 rules for P and 5 rules for R. System has predefined symbols.
P rules:
1175_0_FACT_GT(x0) → COND_1175_0_FACT_GT(>(x0, 0), x0)
COND_1175_0_FACT_GT(TRUE, x0) → 1175_0_FACT_GT(-(x0, 1))
R rules:
1175_0_fact_GT(0) → 1204_0_fact_Return
1252_1_fact_InvokeMethod(1204_0_fact_Return, x1, 0) → Cond_1252_1_fact_InvokeMethod(>(x1, 0), 1204_0_fact_Return, x1, 0)
Cond_1252_1_fact_InvokeMethod(TRUE, 1204_0_fact_Return, x1, 0) → 1204_0_fact_Return
1252_1_fact_InvokeMethod(1204_0_fact_Return, x0, x1) → Cond_1252_1_fact_InvokeMethod1(>(x0, 0), 1204_0_fact_Return, x0, x1)
Cond_1252_1_fact_InvokeMethod1(TRUE, 1204_0_fact_Return, x0, x1) → 1204_0_fact_Return
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
(0) -> (1), if (x0[0] > 0 ∧x0[0] →* x0[1])
(1) -> (0), if (x0[1] - 1 →* x0[0])
(1) (>(x0[0], 0)=TRUE∧x0[0]=x0[1] ⇒ 1175_0_FACT_GT(x0[0])≥NonInfC∧1175_0_FACT_GT(x0[0])≥COND_1175_0_FACT_GT(>(x0[0], 0), x0[0])∧(UIncreasing(COND_1175_0_FACT_GT(>(x0[0], 0), x0[0])), ≥))
(2) (>(x0[0], 0)=TRUE ⇒ 1175_0_FACT_GT(x0[0])≥NonInfC∧1175_0_FACT_GT(x0[0])≥COND_1175_0_FACT_GT(>(x0[0], 0), x0[0])∧(UIncreasing(COND_1175_0_FACT_GT(>(x0[0], 0), x0[0])), ≥))
(3) (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1175_0_FACT_GT(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_16] + [(2)bni_16]x0[0] ≥ 0∧[(-1)bso_17] ≥ 0)
(4) (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1175_0_FACT_GT(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_16] + [(2)bni_16]x0[0] ≥ 0∧[(-1)bso_17] ≥ 0)
(5) (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1175_0_FACT_GT(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_16] + [(2)bni_16]x0[0] ≥ 0∧[(-1)bso_17] ≥ 0)
(6) (x0[0] ≥ 0 ⇒ (UIncreasing(COND_1175_0_FACT_GT(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_16 + (2)bni_16] + [(2)bni_16]x0[0] ≥ 0∧[(-1)bso_17] ≥ 0)
(7) (COND_1175_0_FACT_GT(TRUE, x0[1])≥NonInfC∧COND_1175_0_FACT_GT(TRUE, x0[1])≥1175_0_FACT_GT(-(x0[1], 1))∧(UIncreasing(1175_0_FACT_GT(-(x0[1], 1))), ≥))
(8) ((UIncreasing(1175_0_FACT_GT(-(x0[1], 1))), ≥)∧[bni_18] = 0∧[2 + (-1)bso_19] ≥ 0)
(9) ((UIncreasing(1175_0_FACT_GT(-(x0[1], 1))), ≥)∧[bni_18] = 0∧[2 + (-1)bso_19] ≥ 0)
(10) ((UIncreasing(1175_0_FACT_GT(-(x0[1], 1))), ≥)∧[bni_18] = 0∧[2 + (-1)bso_19] ≥ 0)
(11) ((UIncreasing(1175_0_FACT_GT(-(x0[1], 1))), ≥)∧[bni_18] = 0∧0 = 0∧[2 + (-1)bso_19] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(1175_0_fact_GT(x1)) = [-1]
POL(0) = 0
POL(1204_0_fact_Return) = [-1]
POL(1252_1_fact_InvokeMethod(x1, x2, x3)) = [-1] + [-1]x2
POL(Cond_1252_1_fact_InvokeMethod(x1, x2, x3, x4)) = [-1] + [-1]x3
POL(>(x1, x2)) = [-1]
POL(Cond_1252_1_fact_InvokeMethod1(x1, x2, x3, x4)) = [-1] + [-1]x3
POL(1175_0_FACT_GT(x1)) = [2]x1
POL(COND_1175_0_FACT_GT(x1, x2)) = [2]x2
POL(-(x1, x2)) = x1 + [-1]x2
POL(1) = [1]
COND_1175_0_FACT_GT(TRUE, x0[1]) → 1175_0_FACT_GT(-(x0[1], 1))
1175_0_FACT_GT(x0[0]) → COND_1175_0_FACT_GT(>(x0[0], 0), x0[0])
1175_0_FACT_GT(x0[0]) → COND_1175_0_FACT_GT(>(x0[0], 0), x0[0])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
Generated 11 rules for P and 10 rules for R.
P rules:
757_0_power_GT(EOS(STATIC_757), i96, i96) → 770_0_power_GT(EOS(STATIC_770), i96, i96)
770_0_power_GT(EOS(STATIC_770), i96, i96) → 786_0_power_Load(EOS(STATIC_786), i96) | >(i96, 0)
786_0_power_Load(EOS(STATIC_786), i96) → 799_0_power_Load(EOS(STATIC_799), i96)
799_0_power_Load(EOS(STATIC_799), i96) → 812_0_power_Load(EOS(STATIC_812), i96)
812_0_power_Load(EOS(STATIC_812), i96) → 832_0_power_ConstantStackPush(EOS(STATIC_832), i96)
832_0_power_ConstantStackPush(EOS(STATIC_832), i96) → 844_0_power_IntArithmetic(EOS(STATIC_844), i96, 1)
844_0_power_IntArithmetic(EOS(STATIC_844), i96, matching1) → 857_0_power_InvokeMethod(EOS(STATIC_857), -(i96, 1)) | &&(>(i96, 0), =(matching1, 1))
857_0_power_InvokeMethod(EOS(STATIC_857), i111) → 864_1_power_InvokeMethod(864_0_power_Load(EOS(STATIC_864), i111), i111)
864_0_power_Load(EOS(STATIC_864), i111) → 874_0_power_Load(EOS(STATIC_874), i111)
874_0_power_Load(EOS(STATIC_874), i111) → 741_0_power_Load(EOS(STATIC_741), i111)
741_0_power_Load(EOS(STATIC_741), i88) → 757_0_power_GT(EOS(STATIC_757), i88, i88)
R rules:
757_0_power_GT(EOS(STATIC_757), matching1, matching2) → 769_0_power_GT(EOS(STATIC_769), 0, 0) | &&(=(matching1, 0), =(matching2, 0))
769_0_power_GT(EOS(STATIC_769), matching1, matching2) → 785_0_power_ConstantStackPush(EOS(STATIC_785), 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
785_0_power_ConstantStackPush(EOS(STATIC_785), matching1) → 797_0_power_Return(EOS(STATIC_797), 0) | =(matching1, 0)
864_1_power_InvokeMethod(797_0_power_Return(EOS(STATIC_797), matching1), matching2) → 918_0_power_Return(EOS(STATIC_918), 0, 0) | &&(=(matching1, 0), =(matching2, 0))
864_1_power_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113)), i193) → 1159_0_power_Return(EOS(STATIC_1159), i193)
918_0_power_Return(EOS(STATIC_918), matching1, matching2) → 924_0_power_IntArithmetic(EOS(STATIC_924)) | &&(=(matching1, 0), =(matching2, 0))
924_0_power_IntArithmetic(EOS(STATIC_924)) → 1104_0_power_IntArithmetic(EOS(STATIC_1104))
1094_0_power_Return(EOS(STATIC_1094), i181) → 1104_0_power_IntArithmetic(EOS(STATIC_1104))
1104_0_power_IntArithmetic(EOS(STATIC_1104)) → 1113_0_power_Return(EOS(STATIC_1113))
1159_0_power_Return(EOS(STATIC_1159), i193) → 1094_0_power_Return(EOS(STATIC_1094), i193)
Combined rules. Obtained 1 conditional rules for P and 3 conditional rules for R.
P rules:
757_0_power_GT(EOS(STATIC_757), x0, x0) → 864_1_power_InvokeMethod(757_0_power_GT(EOS(STATIC_757), -(x0, 1), -(x0, 1)), -(x0, 1)) | >(x0, 0)
R rules:
757_0_power_GT(EOS(STATIC_757), 0, 0) → 797_0_power_Return(EOS(STATIC_797), 0)
864_1_power_InvokeMethod(797_0_power_Return(EOS(STATIC_797), 0), 0) → 1113_0_power_Return(EOS(STATIC_1113))
864_1_power_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113)), x0) → 1113_0_power_Return(EOS(STATIC_1113))
Filtered ground terms:
757_0_power_GT(x1, x2, x3) → 757_0_power_GT(x2, x3)
Cond_757_0_power_GT(x1, x2, x3, x4) → Cond_757_0_power_GT(x1, x3, x4)
1113_0_power_Return(x1) → 1113_0_power_Return
797_0_power_Return(x1, x2) → 797_0_power_Return
Filtered duplicate args:
757_0_power_GT(x1, x2) → 757_0_power_GT(x2)
Cond_757_0_power_GT(x1, x2, x3) → Cond_757_0_power_GT(x1, x3)
Combined rules. Obtained 1 conditional rules for P and 3 conditional rules for R.
P rules:
757_0_power_GT(x0) → 864_1_power_InvokeMethod(757_0_power_GT(-(x0, 1)), -(x0, 1)) | >(x0, 0)
R rules:
757_0_power_GT(0) → 797_0_power_Return
864_1_power_InvokeMethod(797_0_power_Return, 0) → 1113_0_power_Return
864_1_power_InvokeMethod(1113_0_power_Return, x0) → 1113_0_power_Return
Performed bisimulation on rules. Used the following equivalence classes: {[797_0_power_Return, 1113_0_power_Return]=797_0_power_Return}
Finished conversion. Obtained 2 rules for P and 3 rules for R. System has predefined symbols.
P rules:
757_0_POWER_GT(x0) → COND_757_0_POWER_GT(>(x0, 0), x0)
COND_757_0_POWER_GT(TRUE, x0) → 757_0_POWER_GT(-(x0, 1))
R rules:
757_0_power_GT(0) → 797_0_power_Return
864_1_power_InvokeMethod(797_0_power_Return, 0) → 797_0_power_Return
864_1_power_InvokeMethod(797_0_power_Return, x0) → 797_0_power_Return
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
(0) -> (1), if (x0[0] > 0 ∧x0[0] →* x0[1])
(1) -> (0), if (x0[1] - 1 →* x0[0])
(1) (>(x0[0], 0)=TRUE∧x0[0]=x0[1] ⇒ 757_0_POWER_GT(x0[0])≥NonInfC∧757_0_POWER_GT(x0[0])≥COND_757_0_POWER_GT(>(x0[0], 0), x0[0])∧(UIncreasing(COND_757_0_POWER_GT(>(x0[0], 0), x0[0])), ≥))
(2) (>(x0[0], 0)=TRUE ⇒ 757_0_POWER_GT(x0[0])≥NonInfC∧757_0_POWER_GT(x0[0])≥COND_757_0_POWER_GT(>(x0[0], 0), x0[0])∧(UIncreasing(COND_757_0_POWER_GT(>(x0[0], 0), x0[0])), ≥))
(3) (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_757_0_POWER_GT(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_11] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)
(4) (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_757_0_POWER_GT(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_11] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)
(5) (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_757_0_POWER_GT(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_11] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)
(6) (x0[0] ≥ 0 ⇒ (UIncreasing(COND_757_0_POWER_GT(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_11 + (2)bni_11] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)
(7) (COND_757_0_POWER_GT(TRUE, x0[1])≥NonInfC∧COND_757_0_POWER_GT(TRUE, x0[1])≥757_0_POWER_GT(-(x0[1], 1))∧(UIncreasing(757_0_POWER_GT(-(x0[1], 1))), ≥))
(8) ((UIncreasing(757_0_POWER_GT(-(x0[1], 1))), ≥)∧[bni_13] = 0∧[2 + (-1)bso_14] ≥ 0)
(9) ((UIncreasing(757_0_POWER_GT(-(x0[1], 1))), ≥)∧[bni_13] = 0∧[2 + (-1)bso_14] ≥ 0)
(10) ((UIncreasing(757_0_POWER_GT(-(x0[1], 1))), ≥)∧[bni_13] = 0∧[2 + (-1)bso_14] ≥ 0)
(11) ((UIncreasing(757_0_POWER_GT(-(x0[1], 1))), ≥)∧[bni_13] = 0∧0 = 0∧[2 + (-1)bso_14] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(757_0_power_GT(x1)) = [-1]
POL(0) = 0
POL(797_0_power_Return) = [-1]
POL(864_1_power_InvokeMethod(x1, x2)) = [-1]
POL(757_0_POWER_GT(x1)) = [2]x1
POL(COND_757_0_POWER_GT(x1, x2)) = [2]x2
POL(>(x1, x2)) = [-1]
POL(-(x1, x2)) = x1 + [-1]x2
POL(1) = [1]
COND_757_0_POWER_GT(TRUE, x0[1]) → 757_0_POWER_GT(-(x0[1], 1))
757_0_POWER_GT(x0[0]) → COND_757_0_POWER_GT(>(x0[0], 0), x0[0])
757_0_POWER_GT(x0[0]) → COND_757_0_POWER_GT(>(x0[0], 0), x0[0])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
Generated 20 rules for P and 56 rules for R.
P rules:
1526_0_power_Return(EOS(STATIC_1526), i298, i299, i298, i299) → 1533_0_exp_Load(EOS(STATIC_1533), i298, i299)
1533_0_exp_Load(EOS(STATIC_1533), i298, i299) → 1546_0_exp_InvokeMethod(EOS(STATIC_1546), i298, i299, i299)
1546_0_exp_InvokeMethod(EOS(STATIC_1546), i298, i299, i299) → 1554_1_exp_InvokeMethod(1554_0_fact_Load(EOS(STATIC_1554), i299), i298, i299, i299)
1554_1_exp_InvokeMethod(1449_0_fact_Return(EOS(STATIC_1449)), i298, i326, i326) → 1590_0_fact_Return(EOS(STATIC_1590), i298, i326, i326)
1590_0_fact_Return(EOS(STATIC_1590), i298, i326, i326) → 1598_0_exp_IntArithmetic(EOS(STATIC_1598), i298, i326)
1598_0_exp_IntArithmetic(EOS(STATIC_1598), i298, i326) → 1608_0_exp_Load(EOS(STATIC_1608), i298, i326)
1608_0_exp_Load(EOS(STATIC_1608), i298, i326) → 1616_0_exp_Load(EOS(STATIC_1616), i326, i298)
1616_0_exp_Load(EOS(STATIC_1616), i326, i298) → 1632_0_exp_ConstantStackPush(EOS(STATIC_1632), i298, i326)
1632_0_exp_ConstantStackPush(EOS(STATIC_1632), i298, i326) → 1659_0_exp_IntArithmetic(EOS(STATIC_1659), i298, i326, 1)
1659_0_exp_IntArithmetic(EOS(STATIC_1659), i298, i326, matching1) → 1664_0_exp_InvokeMethod(EOS(STATIC_1664), i298, -(i326, 1)) | &&(>(i326, 0), =(matching1, 1))
1664_0_exp_InvokeMethod(EOS(STATIC_1664), i298, i350) → 1672_1_exp_InvokeMethod(1672_0_exp_Load(EOS(STATIC_1672), i298, i350), i298, i350)
1672_0_exp_Load(EOS(STATIC_1672), i298, i350) → 1683_0_exp_Load(EOS(STATIC_1683), i298, i350)
1683_0_exp_Load(EOS(STATIC_1683), i298, i350) → 1388_0_exp_Load(EOS(STATIC_1388), i298, i350)
1388_0_exp_Load(EOS(STATIC_1388), i8, i258) → 1400_0_exp_GT(EOS(STATIC_1400), i8, i258, i258)
1400_0_exp_GT(EOS(STATIC_1400), i8, i264, i264) → 1413_0_exp_GT(EOS(STATIC_1413), i8, i264, i264)
1413_0_exp_GT(EOS(STATIC_1413), i8, i264, i264) → 1430_0_exp_Load(EOS(STATIC_1430), i8, i264) | >(i264, 0)
1430_0_exp_Load(EOS(STATIC_1430), i8, i264) → 1440_0_exp_Load(EOS(STATIC_1440), i8, i264, i8)
1440_0_exp_Load(EOS(STATIC_1440), i8, i264, i8) → 1458_0_exp_InvokeMethod(EOS(STATIC_1458), i8, i264, i8, i264)
1458_0_exp_InvokeMethod(EOS(STATIC_1458), i8, i264, i8, i264) → 1474_1_exp_InvokeMethod(1474_0_power_Load(EOS(STATIC_1474), i8, i264), i8, i264, i8, i264)
1474_1_exp_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113)), i298, i299, i298, i299) → 1526_0_power_Return(EOS(STATIC_1526), i298, i299, i298, i299)
R rules:
1554_0_fact_Load(EOS(STATIC_1554), i299) → 1559_0_fact_Load(EOS(STATIC_1559), i299)
1559_0_fact_Load(EOS(STATIC_1559), i299) → 1167_0_fact_Load(EOS(STATIC_1167), i299)
1474_0_power_Load(EOS(STATIC_1474), i8, i264) → 1486_0_power_Load(EOS(STATIC_1486), i8, i264)
1486_0_power_Load(EOS(STATIC_1486), i8, i264) → 741_0_power_Load(EOS(STATIC_741), i8, i264)
1261_0_fact_Load(EOS(STATIC_1261)) → 1167_0_fact_Load(EOS(STATIC_1167), i230)
874_0_power_Load(EOS(STATIC_874), i87) → 741_0_power_Load(EOS(STATIC_741), i87, i111)
1167_0_fact_Load(EOS(STATIC_1167), i206) → 1175_0_fact_GT(EOS(STATIC_1175), i206, i206)
1175_0_fact_GT(EOS(STATIC_1175), matching1, matching2) → 1182_0_fact_GT(EOS(STATIC_1182), 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1175_0_fact_GT(EOS(STATIC_1175), i214, i214) → 1183_0_fact_GT(EOS(STATIC_1183), i214, i214)
1182_0_fact_GT(EOS(STATIC_1182), matching1, matching2) → 1195_0_fact_ConstantStackPush(EOS(STATIC_1195), 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
1183_0_fact_GT(EOS(STATIC_1183), i214, i214) → 1197_0_fact_Load(EOS(STATIC_1197), i214) | >(i214, 0)
1195_0_fact_ConstantStackPush(EOS(STATIC_1195), matching1) → 1204_0_fact_Return(EOS(STATIC_1204), 0) | =(matching1, 0)
1197_0_fact_Load(EOS(STATIC_1197), i214) → 1206_0_fact_Load(EOS(STATIC_1206), i214, i214)
1206_0_fact_Load(EOS(STATIC_1206), i214, i214) → 1220_0_fact_ConstantStackPush(EOS(STATIC_1220), i214, i214)
1220_0_fact_ConstantStackPush(EOS(STATIC_1220), i214, i214) → 1231_0_fact_IntArithmetic(EOS(STATIC_1231), i214, i214)
1231_0_fact_IntArithmetic(EOS(STATIC_1231), i214, i214) → 1242_0_fact_InvokeMethod(EOS(STATIC_1242), i214) | >(i214, 0)
1242_0_fact_InvokeMethod(EOS(STATIC_1242), i214) → 1252_1_fact_InvokeMethod(1252_0_fact_Load(EOS(STATIC_1252)), i214)
1252_0_fact_Load(EOS(STATIC_1252)) → 1261_0_fact_Load(EOS(STATIC_1261))
1252_1_fact_InvokeMethod(1204_0_fact_Return(EOS(STATIC_1204), matching1), i214) → 1292_0_fact_Return(EOS(STATIC_1292), i214, 0, 0) | =(matching1, 0)
1252_1_fact_InvokeMethod(1449_0_fact_Return(EOS(STATIC_1449)), i214) → 1494_0_fact_Return(EOS(STATIC_1494), i214)
1292_0_fact_Return(EOS(STATIC_1292), i214, matching1, matching2) → 1302_0_fact_IntArithmetic(EOS(STATIC_1302), i214) | &&(=(matching1, 0), =(matching2, 0))
1302_0_fact_IntArithmetic(EOS(STATIC_1302), i214) → 1367_0_fact_IntArithmetic(EOS(STATIC_1367), i214)
1367_0_fact_IntArithmetic(EOS(STATIC_1367), i214) → 1435_0_fact_IntArithmetic(EOS(STATIC_1435), i214)
1425_0_fact_Return(EOS(STATIC_1425), i214) → 1435_0_fact_IntArithmetic(EOS(STATIC_1435), i214)
1435_0_fact_IntArithmetic(EOS(STATIC_1435), i214) → 1449_0_fact_Return(EOS(STATIC_1449)) | >=(i214, 1)
1494_0_fact_Return(EOS(STATIC_1494), i214) → 1425_0_fact_Return(EOS(STATIC_1425), i214)
1400_0_exp_GT(EOS(STATIC_1400), i8, matching1, matching2) → 1412_0_exp_GT(EOS(STATIC_1412), i8, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1412_0_exp_GT(EOS(STATIC_1412), i8, matching1, matching2) → 1428_0_exp_ConstantStackPush(EOS(STATIC_1428), i8, 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
1428_0_exp_ConstantStackPush(EOS(STATIC_1428), i8, matching1) → 1438_0_exp_Return(EOS(STATIC_1438), i8, 0) | =(matching1, 0)
1672_1_exp_InvokeMethod(1438_0_exp_Return(EOS(STATIC_1438), i358, matching1), i358, matching2) → 1706_0_exp_Return(EOS(STATIC_1706), i358, 0, i358, 0) | &&(=(matching1, 0), =(matching2, 0))
1672_1_exp_InvokeMethod(1762_0_exp_Return(EOS(STATIC_1762)), i386, i387) → 1794_0_exp_Return(EOS(STATIC_1794), i386, i387)
1706_0_exp_Return(EOS(STATIC_1706), i358, matching1, i358, matching2) → 1712_0_exp_IntArithmetic(EOS(STATIC_1712)) | &&(=(matching1, 0), =(matching2, 0))
1712_0_exp_IntArithmetic(EOS(STATIC_1712)) → 1752_0_exp_IntArithmetic(EOS(STATIC_1752))
1744_0_exp_Return(EOS(STATIC_1744), i365, i366) → 1752_0_exp_IntArithmetic(EOS(STATIC_1752))
1752_0_exp_IntArithmetic(EOS(STATIC_1752)) → 1762_0_exp_Return(EOS(STATIC_1762))
1794_0_exp_Return(EOS(STATIC_1794), i386, i387) → 1744_0_exp_Return(EOS(STATIC_1744), i386, i387)
741_0_power_Load(EOS(STATIC_741), i87, i88) → 757_0_power_GT(EOS(STATIC_757), i87, i88, i88)
757_0_power_GT(EOS(STATIC_757), i87, matching1, matching2) → 769_0_power_GT(EOS(STATIC_769), i87, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
757_0_power_GT(EOS(STATIC_757), i87, i96, i96) → 770_0_power_GT(EOS(STATIC_770), i87, i96, i96)
769_0_power_GT(EOS(STATIC_769), i87, matching1, matching2) → 785_0_power_ConstantStackPush(EOS(STATIC_785), i87, 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
770_0_power_GT(EOS(STATIC_770), i87, i96, i96) → 786_0_power_Load(EOS(STATIC_786), i87, i96) | >(i96, 0)
785_0_power_ConstantStackPush(EOS(STATIC_785), i87, matching1) → 797_0_power_Return(EOS(STATIC_797), i87, 0) | =(matching1, 0)
786_0_power_Load(EOS(STATIC_786), i87, i96) → 799_0_power_Load(EOS(STATIC_799), i87, i96, i87)
799_0_power_Load(EOS(STATIC_799), i87, i96, i87) → 812_0_power_Load(EOS(STATIC_812), i96, i87, i87)
812_0_power_Load(EOS(STATIC_812), i96, i87, i87) → 832_0_power_ConstantStackPush(EOS(STATIC_832), i87, i87, i96)
832_0_power_ConstantStackPush(EOS(STATIC_832), i87, i87, i96) → 844_0_power_IntArithmetic(EOS(STATIC_844), i87, i87, i96)
844_0_power_IntArithmetic(EOS(STATIC_844), i87, i87, i96) → 857_0_power_InvokeMethod(EOS(STATIC_857), i87, i87) | >(i96, 0)
857_0_power_InvokeMethod(EOS(STATIC_857), i87, i87) → 864_1_power_InvokeMethod(864_0_power_Load(EOS(STATIC_864), i87), i87, i87)
864_0_power_Load(EOS(STATIC_864), i87) → 874_0_power_Load(EOS(STATIC_874), i87)
864_1_power_InvokeMethod(797_0_power_Return(EOS(STATIC_797), i121, matching1), i121, i121) → 918_0_power_Return(EOS(STATIC_918), i121, i121, 0, i121, 0) | =(matching1, 0)
864_1_power_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113)), i192, i192) → 1159_0_power_Return(EOS(STATIC_1159), i192, i192)
918_0_power_Return(EOS(STATIC_918), i121, i121, matching1, i121, matching2) → 924_0_power_IntArithmetic(EOS(STATIC_924), i121) | &&(=(matching1, 0), =(matching2, 0))
924_0_power_IntArithmetic(EOS(STATIC_924), i121) → 1104_0_power_IntArithmetic(EOS(STATIC_1104), i121)
1094_0_power_Return(EOS(STATIC_1094), i179, i179) → 1104_0_power_IntArithmetic(EOS(STATIC_1104), i179)
1104_0_power_IntArithmetic(EOS(STATIC_1104), i179) → 1113_0_power_Return(EOS(STATIC_1113))
1159_0_power_Return(EOS(STATIC_1159), i192, i192) → 1094_0_power_Return(EOS(STATIC_1094), i192, i192)
Combined rules. Obtained 2 conditional rules for P and 12 conditional rules for R.
P rules:
1554_1_exp_InvokeMethod(1449_0_fact_Return(EOS(STATIC_1449)), x0, x1, x1) → 1672_1_exp_InvokeMethod(1474_1_exp_InvokeMethod(1474_0_power_Load(EOS(STATIC_1474), x0, -(x1, 1)), x0, -(x1, 1), x0, -(x1, 1)), x0, -(x1, 1)) | >(x1, 1)
1474_1_exp_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113)), x0, x1, x0, x1) → 1554_1_exp_InvokeMethod(1554_0_fact_Load(EOS(STATIC_1554), x1), x0, x1, x1)
R rules:
1554_0_fact_Load(EOS(STATIC_1554), x0) → 1175_0_fact_GT(EOS(STATIC_1175), x0, x0)
1474_0_power_Load(EOS(STATIC_1474), x0, x1) → 757_0_power_GT(EOS(STATIC_757), x0, x1, x1)
1175_0_fact_GT(EOS(STATIC_1175), 0, 0) → 1204_0_fact_Return(EOS(STATIC_1204), 0)
1175_0_fact_GT(EOS(STATIC_1175), x0, x0) → 1252_1_fact_InvokeMethod(1175_0_fact_GT(EOS(STATIC_1175), x1, x1), x0) | >(x0, 0)
1252_1_fact_InvokeMethod(1204_0_fact_Return(EOS(STATIC_1204), 0), x1) → 1449_0_fact_Return(EOS(STATIC_1449)) | >(+(x1, 1), 1)
1252_1_fact_InvokeMethod(1449_0_fact_Return(EOS(STATIC_1449)), x0) → 1449_0_fact_Return(EOS(STATIC_1449)) | >(+(x0, 1), 1)
1672_1_exp_InvokeMethod(1438_0_exp_Return(EOS(STATIC_1438), x0, 0), x0, 0) → 1762_0_exp_Return(EOS(STATIC_1762))
1672_1_exp_InvokeMethod(1762_0_exp_Return(EOS(STATIC_1762)), x0, x1) → 1762_0_exp_Return(EOS(STATIC_1762))
757_0_power_GT(EOS(STATIC_757), x0, 0, 0) → 797_0_power_Return(EOS(STATIC_797), x0, 0)
757_0_power_GT(EOS(STATIC_757), x0, x1, x1) → 864_1_power_InvokeMethod(757_0_power_GT(EOS(STATIC_757), x0, x2, x2), x0, x0) | >(x1, 0)
864_1_power_InvokeMethod(797_0_power_Return(EOS(STATIC_797), x0, 0), x0, x0) → 1113_0_power_Return(EOS(STATIC_1113))
864_1_power_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113)), x0, x0) → 1113_0_power_Return(EOS(STATIC_1113))
Filtered ground terms:
1554_0_fact_Load(x1, x2) → 1554_0_fact_Load(x2)
1113_0_power_Return(x1) → 1113_0_power_Return
1474_0_power_Load(x1, x2, x3) → 1474_0_power_Load(x2, x3)
Cond_1554_1_exp_InvokeMethod(x1, x2, x3, x4, x5) → Cond_1554_1_exp_InvokeMethod(x1, x3, x4, x5)
1449_0_fact_Return(x1) → 1449_0_fact_Return
797_0_power_Return(x1, x2, x3) → 797_0_power_Return(x2)
757_0_power_GT(x1, x2, x3, x4) → 757_0_power_GT(x2, x3, x4)
Cond_757_0_power_GT(x1, x2, x3, x4, x5, x6) → Cond_757_0_power_GT(x1, x3, x4, x5, x6)
1762_0_exp_Return(x1) → 1762_0_exp_Return
1438_0_exp_Return(x1, x2, x3) → 1438_0_exp_Return(x2)
Cond_1252_1_fact_InvokeMethod1(x1, x2, x3) → Cond_1252_1_fact_InvokeMethod1(x1, x3)
Cond_1252_1_fact_InvokeMethod(x1, x2, x3) → Cond_1252_1_fact_InvokeMethod(x1, x3)
1204_0_fact_Return(x1, x2) → 1204_0_fact_Return
1175_0_fact_GT(x1, x2, x3) → 1175_0_fact_GT(x2, x3)
Cond_1175_0_fact_GT(x1, x2, x3, x4, x5) → Cond_1175_0_fact_GT(x1, x3, x4, x5)
Filtered duplicate args:
1554_1_exp_InvokeMethod(x1, x2, x3, x4) → 1554_1_exp_InvokeMethod(x1, x2, x4)
Cond_1554_1_exp_InvokeMethod(x1, x2, x3, x4) → Cond_1554_1_exp_InvokeMethod(x1, x2, x4)
1474_1_exp_InvokeMethod(x1, x2, x3, x4, x5) → 1474_1_exp_InvokeMethod(x1, x4, x5)
1175_0_fact_GT(x1, x2) → 1175_0_fact_GT(x2)
757_0_power_GT(x1, x2, x3) → 757_0_power_GT(x1, x3)
Cond_1175_0_fact_GT(x1, x2, x3, x4) → Cond_1175_0_fact_GT(x1, x3, x4)
Cond_757_0_power_GT(x1, x2, x3, x4, x5) → Cond_757_0_power_GT(x1, x2, x4, x5)
864_1_power_InvokeMethod(x1, x2, x3) → 864_1_power_InvokeMethod(x1, x3)
Filtered unneeded arguments:
1554_1_exp_InvokeMethod(x1, x2, x3) → 1554_1_exp_InvokeMethod(x1, x3)
Cond_1554_1_exp_InvokeMethod(x1, x2, x3) → Cond_1554_1_exp_InvokeMethod(x1, x3)
1672_1_exp_InvokeMethod(x1, x2, x3) → 1672_1_exp_InvokeMethod(x1, x3)
1474_1_exp_InvokeMethod(x1, x2, x3) → 1474_1_exp_InvokeMethod(x1, x3)
Cond_1252_1_fact_InvokeMethod(x1, x2) → Cond_1252_1_fact_InvokeMethod(x1)
Cond_1252_1_fact_InvokeMethod1(x1, x2) → Cond_1252_1_fact_InvokeMethod1(x1)
757_0_power_GT(x1, x2) → 757_0_power_GT(x2)
Cond_757_0_power_GT(x1, x2, x3, x4) → Cond_757_0_power_GT(x1, x4)
864_1_power_InvokeMethod(x1, x2) → 864_1_power_InvokeMethod(x1)
1474_0_power_Load(x1, x2) → 1474_0_power_Load(x2)
Combined rules. Obtained 2 conditional rules for P and 12 conditional rules for R.
P rules:
1554_1_exp_InvokeMethod(1449_0_fact_Return, x1) → 1672_1_exp_InvokeMethod(1474_1_exp_InvokeMethod(1474_0_power_Load(-(x1, 1)), -(x1, 1)), -(x1, 1)) | >(x1, 1)
1474_1_exp_InvokeMethod(1113_0_power_Return, x1) → 1554_1_exp_InvokeMethod(1554_0_fact_Load(x1), x1)
R rules:
1554_0_fact_Load(x0) → 1175_0_fact_GT(x0)
1474_0_power_Load(x1) → 757_0_power_GT(x1)
1175_0_fact_GT(0) → 1204_0_fact_Return
1175_0_fact_GT(x0) → 1252_1_fact_InvokeMethod(1175_0_fact_GT(x1), x0) | >(x0, 0)
1252_1_fact_InvokeMethod(1204_0_fact_Return, x1) → 1449_0_fact_Return | >(x1, 0)
1252_1_fact_InvokeMethod(1449_0_fact_Return, x0) → 1449_0_fact_Return | >(x0, 0)
1672_1_exp_InvokeMethod(1438_0_exp_Return(x0), 0) → 1762_0_exp_Return
1672_1_exp_InvokeMethod(1762_0_exp_Return, x1) → 1762_0_exp_Return
757_0_power_GT(0) → 797_0_power_Return(x0)
757_0_power_GT(x1) → 864_1_power_InvokeMethod(757_0_power_GT(x2)) | >(x1, 0)
864_1_power_InvokeMethod(797_0_power_Return(x0)) → 1113_0_power_Return
864_1_power_InvokeMethod(1113_0_power_Return) → 1113_0_power_Return
Performed bisimulation on rules. Used the following equivalence classes: {[1438_0_exp_Return_1, 797_0_power_Return_1]=1438_0_exp_Return_1, [1204_0_fact_Return, 1449_0_fact_Return, 1762_0_exp_Return, 1113_0_power_Return]=1204_0_fact_Return, [Cond_1252_1_fact_InvokeMethod_3, Cond_1252_1_fact_InvokeMethod1_3]=Cond_1252_1_fact_InvokeMethod_3}
Finished conversion. Obtained 3 rules for P and 14 rules for R. System has predefined symbols.
P rules:
1554_1_EXP_INVOKEMETHOD(1204_0_fact_Return, x1) → COND_1554_1_EXP_INVOKEMETHOD(>(x1, 1), 1204_0_fact_Return, x1)
COND_1554_1_EXP_INVOKEMETHOD(TRUE, 1204_0_fact_Return, x1) → 1474_1_EXP_INVOKEMETHOD(1474_0_power_Load(-(x1, 1)), -(x1, 1))
1474_1_EXP_INVOKEMETHOD(1204_0_fact_Return, x1) → 1554_1_EXP_INVOKEMETHOD(1554_0_fact_Load(x1), x1)
R rules:
1554_0_fact_Load(x0) → 1175_0_fact_GT(x0)
1474_0_power_Load(x1) → 757_0_power_GT(x1)
1175_0_fact_GT(0) → 1204_0_fact_Return
1175_0_fact_GT(x0) → Cond_1175_0_fact_GT(>(x0, 0), x0, x1)
Cond_1175_0_fact_GT(TRUE, x0, x1) → 1252_1_fact_InvokeMethod(1175_0_fact_GT(x1), x0)
1252_1_fact_InvokeMethod(1204_0_fact_Return, x1) → Cond_1252_1_fact_InvokeMethod(>(x1, 0), 1204_0_fact_Return, x1)
Cond_1252_1_fact_InvokeMethod(TRUE, 1204_0_fact_Return, x1) → 1204_0_fact_Return
1672_1_exp_InvokeMethod(1438_0_exp_Return(x0), 0) → 1204_0_fact_Return
1672_1_exp_InvokeMethod(1204_0_fact_Return, x1) → 1204_0_fact_Return
757_0_power_GT(0) → 1438_0_exp_Return(x0)
757_0_power_GT(x1) → Cond_757_0_power_GT(>(x1, 0), x1, x2)
Cond_757_0_power_GT(TRUE, x1, x2) → 864_1_power_InvokeMethod(757_0_power_GT(x2))
864_1_power_InvokeMethod(1438_0_exp_Return(x0)) → 1204_0_fact_Return
864_1_power_InvokeMethod(1204_0_fact_Return) → 1204_0_fact_Return
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
(0) -> (1), if (x1[0] > 1 ∧x1[0] →* x1[1])
(1) -> (2), if (1474_0_power_Load(x1[1] - 1) →* 1204_0_fact_Return∧x1[1] - 1 →* x1[2])
(2) -> (0), if (1554_0_fact_Load(x1[2]) →* 1204_0_fact_Return∧x1[2] →* x1[0])
(1) (>(x1[0], 1)=TRUE∧x1[0]=x1[1] ⇒ 1554_1_EXP_INVOKEMETHOD(1204_0_fact_Return, x1[0])≥NonInfC∧1554_1_EXP_INVOKEMETHOD(1204_0_fact_Return, x1[0])≥COND_1554_1_EXP_INVOKEMETHOD(>(x1[0], 1), 1204_0_fact_Return, x1[0])∧(UIncreasing(COND_1554_1_EXP_INVOKEMETHOD(>(x1[0], 1), 1204_0_fact_Return, x1[0])), ≥))
(2) (>(x1[0], 1)=TRUE ⇒ 1554_1_EXP_INVOKEMETHOD(1204_0_fact_Return, x1[0])≥NonInfC∧1554_1_EXP_INVOKEMETHOD(1204_0_fact_Return, x1[0])≥COND_1554_1_EXP_INVOKEMETHOD(>(x1[0], 1), 1204_0_fact_Return, x1[0])∧(UIncreasing(COND_1554_1_EXP_INVOKEMETHOD(>(x1[0], 1), 1204_0_fact_Return, x1[0])), ≥))
(3) (x1[0] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1554_1_EXP_INVOKEMETHOD(>(x1[0], 1), 1204_0_fact_Return, x1[0])), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [(2)bni_30]x1[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(4) (x1[0] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1554_1_EXP_INVOKEMETHOD(>(x1[0], 1), 1204_0_fact_Return, x1[0])), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [(2)bni_30]x1[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(5) (x1[0] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1554_1_EXP_INVOKEMETHOD(>(x1[0], 1), 1204_0_fact_Return, x1[0])), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [(2)bni_30]x1[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(6) (x1[0] ≥ 0 ⇒ (UIncreasing(COND_1554_1_EXP_INVOKEMETHOD(>(x1[0], 1), 1204_0_fact_Return, x1[0])), ≥)∧[(3)bni_30 + (-1)Bound*bni_30] + [(2)bni_30]x1[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(7) (COND_1554_1_EXP_INVOKEMETHOD(TRUE, 1204_0_fact_Return, x1[1])≥NonInfC∧COND_1554_1_EXP_INVOKEMETHOD(TRUE, 1204_0_fact_Return, x1[1])≥1474_1_EXP_INVOKEMETHOD(1474_0_power_Load(-(x1[1], 1)), -(x1[1], 1))∧(UIncreasing(1474_1_EXP_INVOKEMETHOD(1474_0_power_Load(-(x1[1], 1)), -(x1[1], 1))), ≥))
(8) ((UIncreasing(1474_1_EXP_INVOKEMETHOD(1474_0_power_Load(-(x1[1], 1)), -(x1[1], 1))), ≥)∧[bni_32] = 0∧[(-1)bso_33] ≥ 0)
(9) ((UIncreasing(1474_1_EXP_INVOKEMETHOD(1474_0_power_Load(-(x1[1], 1)), -(x1[1], 1))), ≥)∧[bni_32] = 0∧[(-1)bso_33] ≥ 0)
(10) ((UIncreasing(1474_1_EXP_INVOKEMETHOD(1474_0_power_Load(-(x1[1], 1)), -(x1[1], 1))), ≥)∧[bni_32] = 0∧[(-1)bso_33] ≥ 0)
(11) ((UIncreasing(1474_1_EXP_INVOKEMETHOD(1474_0_power_Load(-(x1[1], 1)), -(x1[1], 1))), ≥)∧[bni_32] = 0∧0 = 0∧[(-1)bso_33] ≥ 0)
(12) (1474_1_EXP_INVOKEMETHOD(1204_0_fact_Return, x1[2])≥NonInfC∧1474_1_EXP_INVOKEMETHOD(1204_0_fact_Return, x1[2])≥1554_1_EXP_INVOKEMETHOD(1554_0_fact_Load(x1[2]), x1[2])∧(UIncreasing(1554_1_EXP_INVOKEMETHOD(1554_0_fact_Load(x1[2]), x1[2])), ≥))
(13) ((UIncreasing(1554_1_EXP_INVOKEMETHOD(1554_0_fact_Load(x1[2]), x1[2])), ≥)∧[bni_34] = 0∧[2 + (-1)bso_35] ≥ 0)
(14) ((UIncreasing(1554_1_EXP_INVOKEMETHOD(1554_0_fact_Load(x1[2]), x1[2])), ≥)∧[bni_34] = 0∧[2 + (-1)bso_35] ≥ 0)
(15) ((UIncreasing(1554_1_EXP_INVOKEMETHOD(1554_0_fact_Load(x1[2]), x1[2])), ≥)∧[bni_34] = 0∧[2 + (-1)bso_35] ≥ 0)
(16) ((UIncreasing(1554_1_EXP_INVOKEMETHOD(1554_0_fact_Load(x1[2]), x1[2])), ≥)∧[bni_34] = 0∧0 = 0∧[2 + (-1)bso_35] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(1554_0_fact_Load(x1)) = [-1]
POL(1175_0_fact_GT(x1)) = x1
POL(1474_0_power_Load(x1)) = [-1]
POL(757_0_power_GT(x1)) = [-1]
POL(0) = 0
POL(1204_0_fact_Return) = [-1]
POL(Cond_1175_0_fact_GT(x1, x2, x3)) = [-1]x2
POL(>(x1, x2)) = [-1]
POL(1252_1_fact_InvokeMethod(x1, x2)) = [-1] + [-1]x2
POL(Cond_1252_1_fact_InvokeMethod(x1, x2, x3)) = [-1]x3
POL(1672_1_exp_InvokeMethod(x1, x2)) = [-1]
POL(1438_0_exp_Return(x1)) = [-1]
POL(Cond_757_0_power_GT(x1, x2, x3)) = [-1]
POL(864_1_power_InvokeMethod(x1)) = [-1]
POL(1554_1_EXP_INVOKEMETHOD(x1, x2)) = [-1] + [2]x2
POL(COND_1554_1_EXP_INVOKEMETHOD(x1, x2, x3)) = [-1] + [2]x3
POL(1) = [1]
POL(1474_1_EXP_INVOKEMETHOD(x1, x2)) = [2]x2 + [-1]x1
POL(-(x1, x2)) = x1 + [-1]x2
1474_1_EXP_INVOKEMETHOD(1204_0_fact_Return, x1[2]) → 1554_1_EXP_INVOKEMETHOD(1554_0_fact_Load(x1[2]), x1[2])
1554_1_EXP_INVOKEMETHOD(1204_0_fact_Return, x1[0]) → COND_1554_1_EXP_INVOKEMETHOD(>(x1[0], 1), 1204_0_fact_Return, x1[0])
1554_1_EXP_INVOKEMETHOD(1204_0_fact_Return, x1[0]) → COND_1554_1_EXP_INVOKEMETHOD(>(x1[0], 1), 1204_0_fact_Return, x1[0])
COND_1554_1_EXP_INVOKEMETHOD(TRUE, 1204_0_fact_Return, x1[1]) → 1474_1_EXP_INVOKEMETHOD(1474_0_power_Load(-(x1[1], 1)), -(x1[1], 1))
1474_0_power_Load(x1)1 ↔ 757_0_power_GT(x1)1
757_0_power_GT(0)1 ↔ 1438_0_exp_Return(x0)1
757_0_power_GT(x1)1 ↔ Cond_757_0_power_GT(>(x1, 0), x1, x2)1
Cond_757_0_power_GT(TRUE, x1, x2)1 ↔ 864_1_power_InvokeMethod(757_0_power_GT(x2))1
864_1_power_InvokeMethod(1438_0_exp_Return(x0))1 ↔ 1204_0_fact_Return1
864_1_power_InvokeMethod(1204_0_fact_Return)1 ↔ 1204_0_fact_Return1
1175_0_fact_GT(0)1 → 1204_0_fact_Return1
Cond_1175_0_fact_GT(TRUE, x0, x1)1 → 1252_1_fact_InvokeMethod(1175_0_fact_GT(x1), x0)1
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
(0) -> (1), if (x1[0] > 1 ∧x1[0] →* x1[1])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
(1) -> (2), if (1474_0_power_Load(x1[1] - 1) →* 1204_0_fact_Return∧x1[1] - 1 →* x1[2])
Generated 30 rules for P and 58 rules for R.
P rules:
1331_0_cos_GT(EOS(STATIC_1331), i8, i249, i249) → 1349_0_cos_GT(EOS(STATIC_1349), i8, i249, i249)
1349_0_cos_GT(EOS(STATIC_1349), i8, i249, i249) → 1361_0_cos_ConstantStackPush(EOS(STATIC_1361), i8, i249) | >(i249, 0)
1361_0_cos_ConstantStackPush(EOS(STATIC_1361), i8, i249) → 1372_0_cos_Load(EOS(STATIC_1372), i8, i249, -1)
1372_0_cos_Load(EOS(STATIC_1372), i8, i249, matching1) → 1391_0_cos_InvokeMethod(EOS(STATIC_1391), i8, i249, -1, i249) | =(matching1, -1)
1391_0_cos_InvokeMethod(EOS(STATIC_1391), i8, i249, matching1, i249) → 1404_1_cos_InvokeMethod(1404_0_power_Load(EOS(STATIC_1404), -1, i249), i8, i249, -1, i249) | =(matching1, -1)
1404_1_cos_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113)), i8, i278, matching1, i278) → 1464_0_power_Return(EOS(STATIC_1464), i8, i278, -1, i278) | =(matching1, -1)
1464_0_power_Return(EOS(STATIC_1464), i8, i278, matching1, i278) → 1477_0_cos_Load(EOS(STATIC_1477), i8, i278) | =(matching1, -1)
1477_0_cos_Load(EOS(STATIC_1477), i8, i278) → 1491_0_cos_ConstantStackPush(EOS(STATIC_1491), i8, i278, i8)
1491_0_cos_ConstantStackPush(EOS(STATIC_1491), i8, i278, i8) → 1500_0_cos_Load(EOS(STATIC_1500), i8, i278, i8, 2)
1500_0_cos_Load(EOS(STATIC_1500), i8, i278, i8, matching1) → 1511_0_cos_IntArithmetic(EOS(STATIC_1511), i8, i278, i8, 2, i278) | =(matching1, 2)
1511_0_cos_IntArithmetic(EOS(STATIC_1511), i8, i278, i8, matching1, i278) → 1528_0_cos_InvokeMethod(EOS(STATIC_1528), i8, i278, i8, *(2, i278)) | &&(>=(i278, 1), =(matching1, 2))
1528_0_cos_InvokeMethod(EOS(STATIC_1528), i8, i278, i8, i305) → 1534_1_cos_InvokeMethod(1534_0_power_Load(EOS(STATIC_1534), i8, i305), i8, i278, i8, i305)
1534_1_cos_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113)), i320, i278, i320, i321) → 1575_0_power_Return(EOS(STATIC_1575), i320, i278, i320, i321)
1575_0_power_Return(EOS(STATIC_1575), i320, i278, i320, i321) → 1584_0_cos_IntArithmetic(EOS(STATIC_1584), i320, i278)
1584_0_cos_IntArithmetic(EOS(STATIC_1584), i320, i278) → 1591_0_cos_ConstantStackPush(EOS(STATIC_1591), i320, i278)
1591_0_cos_ConstantStackPush(EOS(STATIC_1591), i320, i278) → 1599_0_cos_Load(EOS(STATIC_1599), i320, i278, 2)
1599_0_cos_Load(EOS(STATIC_1599), i320, i278, matching1) → 1609_0_cos_IntArithmetic(EOS(STATIC_1609), i320, i278, 2, i278) | =(matching1, 2)
1609_0_cos_IntArithmetic(EOS(STATIC_1609), i320, i278, matching1, i278) → 1618_0_cos_InvokeMethod(EOS(STATIC_1618), i320, i278, *(2, i278)) | &&(>=(i278, 1), =(matching1, 2))
1618_0_cos_InvokeMethod(EOS(STATIC_1618), i320, i278, i337) → 1633_1_cos_InvokeMethod(1633_0_fact_Load(EOS(STATIC_1633), i337), i320, i278, i337)
1633_1_cos_InvokeMethod(1449_0_fact_Return(EOS(STATIC_1449)), i320, i278, i354) → 1685_0_fact_Return(EOS(STATIC_1685), i320, i278, i354)
1685_0_fact_Return(EOS(STATIC_1685), i320, i278, i354) → 1692_0_cos_IntArithmetic(EOS(STATIC_1692), i320, i278)
1692_0_cos_IntArithmetic(EOS(STATIC_1692), i320, i278) → 1701_0_cos_Load(EOS(STATIC_1701), i320, i278)
1701_0_cos_Load(EOS(STATIC_1701), i320, i278) → 1707_0_cos_Load(EOS(STATIC_1707), i278, i320)
1707_0_cos_Load(EOS(STATIC_1707), i278, i320) → 1714_0_cos_ConstantStackPush(EOS(STATIC_1714), i320, i278)
1714_0_cos_ConstantStackPush(EOS(STATIC_1714), i320, i278) → 1722_0_cos_IntArithmetic(EOS(STATIC_1722), i320, i278, 1)
1722_0_cos_IntArithmetic(EOS(STATIC_1722), i320, i278, matching1) → 1729_0_cos_InvokeMethod(EOS(STATIC_1729), i320, -(i278, 1)) | &&(>(i278, 0), =(matching1, 1))
1729_0_cos_InvokeMethod(EOS(STATIC_1729), i320, i363) → 1738_1_cos_InvokeMethod(1738_0_cos_Load(EOS(STATIC_1738), i320, i363), i320, i363)
1738_0_cos_Load(EOS(STATIC_1738), i320, i363) → 1746_0_cos_Load(EOS(STATIC_1746), i320, i363)
1746_0_cos_Load(EOS(STATIC_1746), i320, i363) → 1320_0_cos_Load(EOS(STATIC_1320), i320, i363)
1320_0_cos_Load(EOS(STATIC_1320), i8, i243) → 1331_0_cos_GT(EOS(STATIC_1331), i8, i243, i243)
R rules:
1404_0_power_Load(EOS(STATIC_1404), matching1, i249) → 1416_0_power_Load(EOS(STATIC_1416), -1, i249) | =(matching1, -1)
1416_0_power_Load(EOS(STATIC_1416), matching1, i249) → 741_0_power_Load(EOS(STATIC_741), -1, i249) | =(matching1, -1)
1534_0_power_Load(EOS(STATIC_1534), i8, i305) → 1548_0_power_Load(EOS(STATIC_1548), i8, i305)
1548_0_power_Load(EOS(STATIC_1548), i8, i305) → 741_0_power_Load(EOS(STATIC_741), i8, i305)
1633_0_fact_Load(EOS(STATIC_1633), i337) → 1661_0_fact_Load(EOS(STATIC_1661), i337)
1661_0_fact_Load(EOS(STATIC_1661), i337) → 1167_0_fact_Load(EOS(STATIC_1167), i337)
874_0_power_Load(EOS(STATIC_874), i87) → 741_0_power_Load(EOS(STATIC_741), i87, i111)
1261_0_fact_Load(EOS(STATIC_1261)) → 1167_0_fact_Load(EOS(STATIC_1167), i230)
741_0_power_Load(EOS(STATIC_741), i87, i88) → 757_0_power_GT(EOS(STATIC_757), i87, i88, i88)
757_0_power_GT(EOS(STATIC_757), i87, matching1, matching2) → 769_0_power_GT(EOS(STATIC_769), i87, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
757_0_power_GT(EOS(STATIC_757), i87, i96, i96) → 770_0_power_GT(EOS(STATIC_770), i87, i96, i96)
769_0_power_GT(EOS(STATIC_769), i87, matching1, matching2) → 785_0_power_ConstantStackPush(EOS(STATIC_785), i87, 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
770_0_power_GT(EOS(STATIC_770), i87, i96, i96) → 786_0_power_Load(EOS(STATIC_786), i87, i96) | >(i96, 0)
785_0_power_ConstantStackPush(EOS(STATIC_785), i87, matching1) → 797_0_power_Return(EOS(STATIC_797), i87, 0) | =(matching1, 0)
786_0_power_Load(EOS(STATIC_786), i87, i96) → 799_0_power_Load(EOS(STATIC_799), i87, i96, i87)
799_0_power_Load(EOS(STATIC_799), i87, i96, i87) → 812_0_power_Load(EOS(STATIC_812), i96, i87, i87)
812_0_power_Load(EOS(STATIC_812), i96, i87, i87) → 832_0_power_ConstantStackPush(EOS(STATIC_832), i87, i87, i96)
832_0_power_ConstantStackPush(EOS(STATIC_832), i87, i87, i96) → 844_0_power_IntArithmetic(EOS(STATIC_844), i87, i87, i96)
844_0_power_IntArithmetic(EOS(STATIC_844), i87, i87, i96) → 857_0_power_InvokeMethod(EOS(STATIC_857), i87, i87) | >(i96, 0)
857_0_power_InvokeMethod(EOS(STATIC_857), i87, i87) → 864_1_power_InvokeMethod(864_0_power_Load(EOS(STATIC_864), i87), i87, i87)
864_0_power_Load(EOS(STATIC_864), i87) → 874_0_power_Load(EOS(STATIC_874), i87)
864_1_power_InvokeMethod(797_0_power_Return(EOS(STATIC_797), i121, matching1), i121, i121) → 918_0_power_Return(EOS(STATIC_918), i121, i121, 0, i121, 0) | =(matching1, 0)
864_1_power_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113)), i192, i192) → 1159_0_power_Return(EOS(STATIC_1159), i192, i192)
918_0_power_Return(EOS(STATIC_918), i121, i121, matching1, i121, matching2) → 924_0_power_IntArithmetic(EOS(STATIC_924), i121) | &&(=(matching1, 0), =(matching2, 0))
924_0_power_IntArithmetic(EOS(STATIC_924), i121) → 1104_0_power_IntArithmetic(EOS(STATIC_1104), i121)
1094_0_power_Return(EOS(STATIC_1094), i179, i179) → 1104_0_power_IntArithmetic(EOS(STATIC_1104), i179)
1104_0_power_IntArithmetic(EOS(STATIC_1104), i179) → 1113_0_power_Return(EOS(STATIC_1113))
1159_0_power_Return(EOS(STATIC_1159), i192, i192) → 1094_0_power_Return(EOS(STATIC_1094), i192, i192)
1167_0_fact_Load(EOS(STATIC_1167), i206) → 1175_0_fact_GT(EOS(STATIC_1175), i206, i206)
1175_0_fact_GT(EOS(STATIC_1175), matching1, matching2) → 1182_0_fact_GT(EOS(STATIC_1182), 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1175_0_fact_GT(EOS(STATIC_1175), i214, i214) → 1183_0_fact_GT(EOS(STATIC_1183), i214, i214)
1182_0_fact_GT(EOS(STATIC_1182), matching1, matching2) → 1195_0_fact_ConstantStackPush(EOS(STATIC_1195), 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
1183_0_fact_GT(EOS(STATIC_1183), i214, i214) → 1197_0_fact_Load(EOS(STATIC_1197), i214) | >(i214, 0)
1195_0_fact_ConstantStackPush(EOS(STATIC_1195), matching1) → 1204_0_fact_Return(EOS(STATIC_1204), 0) | =(matching1, 0)
1197_0_fact_Load(EOS(STATIC_1197), i214) → 1206_0_fact_Load(EOS(STATIC_1206), i214, i214)
1206_0_fact_Load(EOS(STATIC_1206), i214, i214) → 1220_0_fact_ConstantStackPush(EOS(STATIC_1220), i214, i214)
1220_0_fact_ConstantStackPush(EOS(STATIC_1220), i214, i214) → 1231_0_fact_IntArithmetic(EOS(STATIC_1231), i214, i214)
1231_0_fact_IntArithmetic(EOS(STATIC_1231), i214, i214) → 1242_0_fact_InvokeMethod(EOS(STATIC_1242), i214) | >(i214, 0)
1242_0_fact_InvokeMethod(EOS(STATIC_1242), i214) → 1252_1_fact_InvokeMethod(1252_0_fact_Load(EOS(STATIC_1252)), i214)
1252_0_fact_Load(EOS(STATIC_1252)) → 1261_0_fact_Load(EOS(STATIC_1261))
1252_1_fact_InvokeMethod(1204_0_fact_Return(EOS(STATIC_1204), matching1), i214) → 1292_0_fact_Return(EOS(STATIC_1292), i214, 0, 0) | =(matching1, 0)
1252_1_fact_InvokeMethod(1449_0_fact_Return(EOS(STATIC_1449)), i214) → 1494_0_fact_Return(EOS(STATIC_1494), i214)
1292_0_fact_Return(EOS(STATIC_1292), i214, matching1, matching2) → 1302_0_fact_IntArithmetic(EOS(STATIC_1302), i214) | &&(=(matching1, 0), =(matching2, 0))
1302_0_fact_IntArithmetic(EOS(STATIC_1302), i214) → 1367_0_fact_IntArithmetic(EOS(STATIC_1367), i214)
1367_0_fact_IntArithmetic(EOS(STATIC_1367), i214) → 1435_0_fact_IntArithmetic(EOS(STATIC_1435), i214)
1425_0_fact_Return(EOS(STATIC_1425), i214) → 1435_0_fact_IntArithmetic(EOS(STATIC_1435), i214)
1435_0_fact_IntArithmetic(EOS(STATIC_1435), i214) → 1449_0_fact_Return(EOS(STATIC_1449)) | >=(i214, 1)
1494_0_fact_Return(EOS(STATIC_1494), i214) → 1425_0_fact_Return(EOS(STATIC_1425), i214)
1331_0_cos_GT(EOS(STATIC_1331), i8, matching1, matching2) → 1348_0_cos_GT(EOS(STATIC_1348), i8, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1348_0_cos_GT(EOS(STATIC_1348), i8, matching1, matching2) → 1359_0_cos_ConstantStackPush(EOS(STATIC_1359), i8, 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
1359_0_cos_ConstantStackPush(EOS(STATIC_1359), i8, matching1) → 1370_0_cos_Return(EOS(STATIC_1370), i8, 0) | =(matching1, 0)
1738_1_cos_InvokeMethod(1370_0_cos_Return(EOS(STATIC_1370), i384, matching1), i384, matching2) → 1774_0_cos_Return(EOS(STATIC_1774), i384, 0, i384, 0) | &&(=(matching1, 0), =(matching2, 0))
1738_1_cos_InvokeMethod(1854_0_cos_Return(EOS(STATIC_1854)), i429, i430) → 1897_0_cos_Return(EOS(STATIC_1897), i429, i430)
1774_0_cos_Return(EOS(STATIC_1774), i384, matching1, i384, matching2) → 1783_0_cos_IntArithmetic(EOS(STATIC_1783)) | &&(=(matching1, 0), =(matching2, 0))
1783_0_cos_IntArithmetic(EOS(STATIC_1783)) → 1841_0_cos_IntArithmetic(EOS(STATIC_1841))
1829_0_cos_Return(EOS(STATIC_1829), i405, i406) → 1841_0_cos_IntArithmetic(EOS(STATIC_1841))
1841_0_cos_IntArithmetic(EOS(STATIC_1841)) → 1854_0_cos_Return(EOS(STATIC_1854))
1897_0_cos_Return(EOS(STATIC_1897), i429, i430) → 1829_0_cos_Return(EOS(STATIC_1829), i429, i430)
Combined rules. Obtained 3 conditional rules for P and 13 conditional rules for R.
P rules:
1404_1_cos_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113)), x0, x1, -1, x1) → 1534_1_cos_InvokeMethod(1534_0_power_Load(EOS(STATIC_1534), x0, *(2, x1)), x0, x1, x0, *(2, x1)) | >(+(x1, 1), 1)
1534_1_cos_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113)), x0, x1, x0, x2) → 1633_1_cos_InvokeMethod(1633_0_fact_Load(EOS(STATIC_1633), *(2, x1)), x0, x1, *(2, x1)) | >(+(x1, 1), 1)
1633_1_cos_InvokeMethod(1449_0_fact_Return(EOS(STATIC_1449)), x0, x1, x2) → 1738_1_cos_InvokeMethod(1404_1_cos_InvokeMethod(1404_0_power_Load(EOS(STATIC_1404), -1, -(x1, 1)), x0, -(x1, 1), -1, -(x1, 1)), x0, -(x1, 1)) | >(x1, 1)
R rules:
1404_0_power_Load(EOS(STATIC_1404), -1, x1) → 757_0_power_GT(EOS(STATIC_757), -1, x1, x1)
1534_0_power_Load(EOS(STATIC_1534), x0, x1) → 757_0_power_GT(EOS(STATIC_757), x0, x1, x1)
1633_0_fact_Load(EOS(STATIC_1633), x0) → 1175_0_fact_GT(EOS(STATIC_1175), x0, x0)
757_0_power_GT(EOS(STATIC_757), x0, 0, 0) → 797_0_power_Return(EOS(STATIC_797), x0, 0)
757_0_power_GT(EOS(STATIC_757), x0, x1, x1) → 864_1_power_InvokeMethod(757_0_power_GT(EOS(STATIC_757), x0, x2, x2), x0, x0) | >(x1, 0)
864_1_power_InvokeMethod(797_0_power_Return(EOS(STATIC_797), x0, 0), x0, x0) → 1113_0_power_Return(EOS(STATIC_1113))
864_1_power_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113)), x0, x0) → 1113_0_power_Return(EOS(STATIC_1113))
1175_0_fact_GT(EOS(STATIC_1175), 0, 0) → 1204_0_fact_Return(EOS(STATIC_1204), 0)
1175_0_fact_GT(EOS(STATIC_1175), x0, x0) → 1252_1_fact_InvokeMethod(1175_0_fact_GT(EOS(STATIC_1175), x1, x1), x0) | >(x0, 0)
1252_1_fact_InvokeMethod(1204_0_fact_Return(EOS(STATIC_1204), 0), x1) → 1449_0_fact_Return(EOS(STATIC_1449)) | >(+(x1, 1), 1)
1252_1_fact_InvokeMethod(1449_0_fact_Return(EOS(STATIC_1449)), x0) → 1449_0_fact_Return(EOS(STATIC_1449)) | >(+(x0, 1), 1)
1738_1_cos_InvokeMethod(1370_0_cos_Return(EOS(STATIC_1370), x0, 0), x0, 0) → 1854_0_cos_Return(EOS(STATIC_1854))
1738_1_cos_InvokeMethod(1854_0_cos_Return(EOS(STATIC_1854)), x0, x1) → 1854_0_cos_Return(EOS(STATIC_1854))
Filtered ground terms:
1404_0_power_Load(x1, x2, x3) → 1404_0_power_Load(x3)
1404_1_cos_InvokeMethod(x1, x2, x3, x4, x5) → 1404_1_cos_InvokeMethod(x1, x2, x3, x5)
Cond_1633_1_cos_InvokeMethod(x1, x2, x3, x4, x5) → Cond_1633_1_cos_InvokeMethod(x1, x3, x4, x5)
1449_0_fact_Return(x1) → 1449_0_fact_Return
1633_0_fact_Load(x1, x2) → 1633_0_fact_Load(x2)
Cond_1534_1_cos_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1534_1_cos_InvokeMethod(x1, x3, x4, x5, x6)
1113_0_power_Return(x1) → 1113_0_power_Return
1534_0_power_Load(x1, x2, x3) → 1534_0_power_Load(x2, x3)
Cond_1404_1_cos_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1404_1_cos_InvokeMethod(x1, x3, x4, x6)
1854_0_cos_Return(x1) → 1854_0_cos_Return
1370_0_cos_Return(x1, x2, x3) → 1370_0_cos_Return(x2)
Cond_1252_1_fact_InvokeMethod1(x1, x2, x3) → Cond_1252_1_fact_InvokeMethod1(x1, x3)
Cond_1252_1_fact_InvokeMethod(x1, x2, x3) → Cond_1252_1_fact_InvokeMethod(x1, x3)
1204_0_fact_Return(x1, x2) → 1204_0_fact_Return
1175_0_fact_GT(x1, x2, x3) → 1175_0_fact_GT(x2, x3)
Cond_1175_0_fact_GT(x1, x2, x3, x4, x5) → Cond_1175_0_fact_GT(x1, x3, x4, x5)
797_0_power_Return(x1, x2, x3) → 797_0_power_Return(x2)
757_0_power_GT(x1, x2, x3, x4) → 757_0_power_GT(x2, x3, x4)
Cond_757_0_power_GT(x1, x2, x3, x4, x5, x6) → Cond_757_0_power_GT(x1, x3, x4, x5, x6)
Filtered duplicate args:
1404_1_cos_InvokeMethod(x1, x2, x3, x4) → 1404_1_cos_InvokeMethod(x1, x2, x4)
Cond_1404_1_cos_InvokeMethod(x1, x2, x3, x4) → Cond_1404_1_cos_InvokeMethod(x1, x2, x4)
1534_1_cos_InvokeMethod(x1, x2, x3, x4, x5) → 1534_1_cos_InvokeMethod(x1, x3, x4, x5)
Cond_1534_1_cos_InvokeMethod(x1, x2, x3, x4, x5) → Cond_1534_1_cos_InvokeMethod(x1, x3, x4, x5)
757_0_power_GT(x1, x2, x3) → 757_0_power_GT(x1, x3)
1175_0_fact_GT(x1, x2) → 1175_0_fact_GT(x2)
Cond_757_0_power_GT(x1, x2, x3, x4, x5) → Cond_757_0_power_GT(x1, x2, x4, x5)
864_1_power_InvokeMethod(x1, x2, x3) → 864_1_power_InvokeMethod(x1, x3)
Cond_1175_0_fact_GT(x1, x2, x3, x4) → Cond_1175_0_fact_GT(x1, x3, x4)
Filtered unneeded arguments:
1404_1_cos_InvokeMethod(x1, x2, x3) → 1404_1_cos_InvokeMethod(x1, x3)
Cond_1404_1_cos_InvokeMethod(x1, x2, x3) → Cond_1404_1_cos_InvokeMethod(x1, x3)
1534_1_cos_InvokeMethod(x1, x2, x3, x4) → 1534_1_cos_InvokeMethod(x1, x2)
Cond_1534_1_cos_InvokeMethod(x1, x2, x3, x4) → Cond_1534_1_cos_InvokeMethod(x1, x2)
1633_1_cos_InvokeMethod(x1, x2, x3, x4) → 1633_1_cos_InvokeMethod(x1, x3)
Cond_1633_1_cos_InvokeMethod(x1, x2, x3, x4) → Cond_1633_1_cos_InvokeMethod(x1, x3)
1738_1_cos_InvokeMethod(x1, x2, x3) → 1738_1_cos_InvokeMethod(x1, x3)
757_0_power_GT(x1, x2) → 757_0_power_GT(x2)
Cond_757_0_power_GT(x1, x2, x3, x4) → Cond_757_0_power_GT(x1, x4)
864_1_power_InvokeMethod(x1, x2) → 864_1_power_InvokeMethod(x1)
Cond_1252_1_fact_InvokeMethod(x1, x2) → Cond_1252_1_fact_InvokeMethod(x1)
Cond_1252_1_fact_InvokeMethod1(x1, x2) → Cond_1252_1_fact_InvokeMethod1(x1)
1534_0_power_Load(x1, x2) → 1534_0_power_Load(x2)
Combined rules. Obtained 3 conditional rules for P and 13 conditional rules for R.
P rules:
1404_1_cos_InvokeMethod(1113_0_power_Return, x1) → 1534_1_cos_InvokeMethod(1534_0_power_Load(*(2, x1)), x1) | >(x1, 0)
1534_1_cos_InvokeMethod(1113_0_power_Return, x1) → 1633_1_cos_InvokeMethod(1633_0_fact_Load(*(2, x1)), x1) | >(x1, 0)
1633_1_cos_InvokeMethod(1449_0_fact_Return, x1) → 1738_1_cos_InvokeMethod(1404_1_cos_InvokeMethod(1404_0_power_Load(-(x1, 1)), -(x1, 1)), -(x1, 1)) | >(x1, 1)
R rules:
1404_0_power_Load(x1) → 757_0_power_GT(x1)
1534_0_power_Load(x1) → 757_0_power_GT(x1)
1633_0_fact_Load(x0) → 1175_0_fact_GT(x0)
757_0_power_GT(0) → 797_0_power_Return(x0)
757_0_power_GT(x1) → 864_1_power_InvokeMethod(757_0_power_GT(x2)) | >(x1, 0)
864_1_power_InvokeMethod(797_0_power_Return(x0)) → 1113_0_power_Return
864_1_power_InvokeMethod(1113_0_power_Return) → 1113_0_power_Return
1175_0_fact_GT(0) → 1204_0_fact_Return
1175_0_fact_GT(x0) → 1252_1_fact_InvokeMethod(1175_0_fact_GT(x1), x0) | >(x0, 0)
1252_1_fact_InvokeMethod(1204_0_fact_Return, x1) → 1449_0_fact_Return | >(x1, 0)
1252_1_fact_InvokeMethod(1449_0_fact_Return, x0) → 1449_0_fact_Return | >(x0, 0)
1738_1_cos_InvokeMethod(1370_0_cos_Return(x0), 0) → 1854_0_cos_Return
1738_1_cos_InvokeMethod(1854_0_cos_Return, x1) → 1854_0_cos_Return
Performed bisimulation on rules. Used the following equivalence classes: {[797_0_power_Return_1, 1370_0_cos_Return_1]=797_0_power_Return_1, [Cond_1252_1_fact_InvokeMethod_3, Cond_1252_1_fact_InvokeMethod1_3]=Cond_1252_1_fact_InvokeMethod_3, [1113_0_power_Return, 1204_0_fact_Return, 1449_0_fact_Return, 1854_0_cos_Return]=1113_0_power_Return}
Finished conversion. Obtained 6 rules for P and 15 rules for R. System has predefined symbols.
P rules:
1404_1_COS_INVOKEMETHOD(1113_0_power_Return, x1) → COND_1404_1_COS_INVOKEMETHOD(>(x1, 0), 1113_0_power_Return, x1)
COND_1404_1_COS_INVOKEMETHOD(TRUE, 1113_0_power_Return, x1) → 1534_1_COS_INVOKEMETHOD(1534_0_power_Load(*(2, x1)), x1)
1534_1_COS_INVOKEMETHOD(1113_0_power_Return, x1) → COND_1534_1_COS_INVOKEMETHOD(>(x1, 0), 1113_0_power_Return, x1)
COND_1534_1_COS_INVOKEMETHOD(TRUE, 1113_0_power_Return, x1) → 1633_1_COS_INVOKEMETHOD(1633_0_fact_Load(*(2, x1)), x1)
1633_1_COS_INVOKEMETHOD(1113_0_power_Return, x1) → COND_1633_1_COS_INVOKEMETHOD(>(x1, 1), 1113_0_power_Return, x1)
COND_1633_1_COS_INVOKEMETHOD(TRUE, 1113_0_power_Return, x1) → 1404_1_COS_INVOKEMETHOD(1404_0_power_Load(-(x1, 1)), -(x1, 1))
R rules:
1404_0_power_Load(x1) → 757_0_power_GT(x1)
1534_0_power_Load(x1) → 757_0_power_GT(x1)
1633_0_fact_Load(x0) → 1175_0_fact_GT(x0)
757_0_power_GT(0) → 797_0_power_Return(x0)
757_0_power_GT(x1) → Cond_757_0_power_GT(>(x1, 0), x1, x2)
Cond_757_0_power_GT(TRUE, x1, x2) → 864_1_power_InvokeMethod(757_0_power_GT(x2))
864_1_power_InvokeMethod(797_0_power_Return(x0)) → 1113_0_power_Return
864_1_power_InvokeMethod(1113_0_power_Return) → 1113_0_power_Return
1175_0_fact_GT(0) → 1113_0_power_Return
1175_0_fact_GT(x0) → Cond_1175_0_fact_GT(>(x0, 0), x0, x1)
Cond_1175_0_fact_GT(TRUE, x0, x1) → 1252_1_fact_InvokeMethod(1175_0_fact_GT(x1), x0)
1252_1_fact_InvokeMethod(1113_0_power_Return, x1) → Cond_1252_1_fact_InvokeMethod(>(x1, 0), 1113_0_power_Return, x1)
Cond_1252_1_fact_InvokeMethod(TRUE, 1113_0_power_Return, x1) → 1113_0_power_Return
1738_1_cos_InvokeMethod(797_0_power_Return(x0), 0) → 1113_0_power_Return
1738_1_cos_InvokeMethod(1113_0_power_Return, x1) → 1113_0_power_Return
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
(0) -> (1), if (x1[0] > 0 ∧x1[0] →* x1[1])
(1) -> (2), if (1534_0_power_Load(2 * x1[1]) →* 1113_0_power_Return∧x1[1] →* x1[2])
(2) -> (3), if (x1[2] > 0 ∧x1[2] →* x1[3])
(3) -> (4), if (1633_0_fact_Load(2 * x1[3]) →* 1113_0_power_Return∧x1[3] →* x1[4])
(4) -> (5), if (x1[4] > 1 ∧x1[4] →* x1[5])
(5) -> (0), if (1404_0_power_Load(x1[5] - 1) →* 1113_0_power_Return∧x1[5] - 1 →* x1[0])
(1) (>(x1[0], 0)=TRUE∧x1[0]=x1[1] ⇒ 1404_1_COS_INVOKEMETHOD(1113_0_power_Return, x1[0])≥NonInfC∧1404_1_COS_INVOKEMETHOD(1113_0_power_Return, x1[0])≥COND_1404_1_COS_INVOKEMETHOD(>(x1[0], 0), 1113_0_power_Return, x1[0])∧(UIncreasing(COND_1404_1_COS_INVOKEMETHOD(>(x1[0], 0), 1113_0_power_Return, x1[0])), ≥))
(2) (>(x1[0], 0)=TRUE ⇒ 1404_1_COS_INVOKEMETHOD(1113_0_power_Return, x1[0])≥NonInfC∧1404_1_COS_INVOKEMETHOD(1113_0_power_Return, x1[0])≥COND_1404_1_COS_INVOKEMETHOD(>(x1[0], 0), 1113_0_power_Return, x1[0])∧(UIncreasing(COND_1404_1_COS_INVOKEMETHOD(>(x1[0], 0), 1113_0_power_Return, x1[0])), ≥))
(3) (x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1404_1_COS_INVOKEMETHOD(>(x1[0], 0), 1113_0_power_Return, x1[0])), ≥)∧[(-1)Bound*bni_33] + [bni_33]x1[0] ≥ 0∧[1 + (-1)bso_34] ≥ 0)
(4) (x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1404_1_COS_INVOKEMETHOD(>(x1[0], 0), 1113_0_power_Return, x1[0])), ≥)∧[(-1)Bound*bni_33] + [bni_33]x1[0] ≥ 0∧[1 + (-1)bso_34] ≥ 0)
(5) (x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1404_1_COS_INVOKEMETHOD(>(x1[0], 0), 1113_0_power_Return, x1[0])), ≥)∧[(-1)Bound*bni_33] + [bni_33]x1[0] ≥ 0∧[1 + (-1)bso_34] ≥ 0)
(6) (x1[0] ≥ 0 ⇒ (UIncreasing(COND_1404_1_COS_INVOKEMETHOD(>(x1[0], 0), 1113_0_power_Return, x1[0])), ≥)∧[(-1)Bound*bni_33 + bni_33] + [bni_33]x1[0] ≥ 0∧[1 + (-1)bso_34] ≥ 0)
(7) (COND_1404_1_COS_INVOKEMETHOD(TRUE, 1113_0_power_Return, x1[1])≥NonInfC∧COND_1404_1_COS_INVOKEMETHOD(TRUE, 1113_0_power_Return, x1[1])≥1534_1_COS_INVOKEMETHOD(1534_0_power_Load(*(2, x1[1])), x1[1])∧(UIncreasing(1534_1_COS_INVOKEMETHOD(1534_0_power_Load(*(2, x1[1])), x1[1])), ≥))
(8) ((UIncreasing(1534_1_COS_INVOKEMETHOD(1534_0_power_Load(*(2, x1[1])), x1[1])), ≥)∧[bni_35] = 0∧[(-1)bso_36] ≥ 0)
(9) ((UIncreasing(1534_1_COS_INVOKEMETHOD(1534_0_power_Load(*(2, x1[1])), x1[1])), ≥)∧[bni_35] = 0∧[(-1)bso_36] ≥ 0)
(10) ((UIncreasing(1534_1_COS_INVOKEMETHOD(1534_0_power_Load(*(2, x1[1])), x1[1])), ≥)∧[bni_35] = 0∧[(-1)bso_36] ≥ 0)
(11) ((UIncreasing(1534_1_COS_INVOKEMETHOD(1534_0_power_Load(*(2, x1[1])), x1[1])), ≥)∧[bni_35] = 0∧0 = 0∧[(-1)bso_36] ≥ 0)
(12) (>(x1[2], 0)=TRUE∧x1[2]=x1[3] ⇒ 1534_1_COS_INVOKEMETHOD(1113_0_power_Return, x1[2])≥NonInfC∧1534_1_COS_INVOKEMETHOD(1113_0_power_Return, x1[2])≥COND_1534_1_COS_INVOKEMETHOD(>(x1[2], 0), 1113_0_power_Return, x1[2])∧(UIncreasing(COND_1534_1_COS_INVOKEMETHOD(>(x1[2], 0), 1113_0_power_Return, x1[2])), ≥))
(13) (>(x1[2], 0)=TRUE ⇒ 1534_1_COS_INVOKEMETHOD(1113_0_power_Return, x1[2])≥NonInfC∧1534_1_COS_INVOKEMETHOD(1113_0_power_Return, x1[2])≥COND_1534_1_COS_INVOKEMETHOD(>(x1[2], 0), 1113_0_power_Return, x1[2])∧(UIncreasing(COND_1534_1_COS_INVOKEMETHOD(>(x1[2], 0), 1113_0_power_Return, x1[2])), ≥))
(14) (x1[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1534_1_COS_INVOKEMETHOD(>(x1[2], 0), 1113_0_power_Return, x1[2])), ≥)∧[(-1)bni_37 + (-1)Bound*bni_37] + [bni_37]x1[2] ≥ 0∧[(-1)bso_38] ≥ 0)
(15) (x1[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1534_1_COS_INVOKEMETHOD(>(x1[2], 0), 1113_0_power_Return, x1[2])), ≥)∧[(-1)bni_37 + (-1)Bound*bni_37] + [bni_37]x1[2] ≥ 0∧[(-1)bso_38] ≥ 0)
(16) (x1[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1534_1_COS_INVOKEMETHOD(>(x1[2], 0), 1113_0_power_Return, x1[2])), ≥)∧[(-1)bni_37 + (-1)Bound*bni_37] + [bni_37]x1[2] ≥ 0∧[(-1)bso_38] ≥ 0)
(17) (x1[2] ≥ 0 ⇒ (UIncreasing(COND_1534_1_COS_INVOKEMETHOD(>(x1[2], 0), 1113_0_power_Return, x1[2])), ≥)∧[(-1)Bound*bni_37] + [bni_37]x1[2] ≥ 0∧[(-1)bso_38] ≥ 0)
(18) (COND_1534_1_COS_INVOKEMETHOD(TRUE, 1113_0_power_Return, x1[3])≥NonInfC∧COND_1534_1_COS_INVOKEMETHOD(TRUE, 1113_0_power_Return, x1[3])≥1633_1_COS_INVOKEMETHOD(1633_0_fact_Load(*(2, x1[3])), x1[3])∧(UIncreasing(1633_1_COS_INVOKEMETHOD(1633_0_fact_Load(*(2, x1[3])), x1[3])), ≥))
(19) ((UIncreasing(1633_1_COS_INVOKEMETHOD(1633_0_fact_Load(*(2, x1[3])), x1[3])), ≥)∧[bni_39] = 0∧[(-1)bso_40] ≥ 0)
(20) ((UIncreasing(1633_1_COS_INVOKEMETHOD(1633_0_fact_Load(*(2, x1[3])), x1[3])), ≥)∧[bni_39] = 0∧[(-1)bso_40] ≥ 0)
(21) ((UIncreasing(1633_1_COS_INVOKEMETHOD(1633_0_fact_Load(*(2, x1[3])), x1[3])), ≥)∧[bni_39] = 0∧[(-1)bso_40] ≥ 0)
(22) ((UIncreasing(1633_1_COS_INVOKEMETHOD(1633_0_fact_Load(*(2, x1[3])), x1[3])), ≥)∧[bni_39] = 0∧0 = 0∧[(-1)bso_40] ≥ 0)
(23) (>(x1[4], 1)=TRUE∧x1[4]=x1[5] ⇒ 1633_1_COS_INVOKEMETHOD(1113_0_power_Return, x1[4])≥NonInfC∧1633_1_COS_INVOKEMETHOD(1113_0_power_Return, x1[4])≥COND_1633_1_COS_INVOKEMETHOD(>(x1[4], 1), 1113_0_power_Return, x1[4])∧(UIncreasing(COND_1633_1_COS_INVOKEMETHOD(>(x1[4], 1), 1113_0_power_Return, x1[4])), ≥))
(24) (>(x1[4], 1)=TRUE ⇒ 1633_1_COS_INVOKEMETHOD(1113_0_power_Return, x1[4])≥NonInfC∧1633_1_COS_INVOKEMETHOD(1113_0_power_Return, x1[4])≥COND_1633_1_COS_INVOKEMETHOD(>(x1[4], 1), 1113_0_power_Return, x1[4])∧(UIncreasing(COND_1633_1_COS_INVOKEMETHOD(>(x1[4], 1), 1113_0_power_Return, x1[4])), ≥))
(25) (x1[4] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1633_1_COS_INVOKEMETHOD(>(x1[4], 1), 1113_0_power_Return, x1[4])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] + [bni_41]x1[4] ≥ 0∧[(-1)bso_42] ≥ 0)
(26) (x1[4] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1633_1_COS_INVOKEMETHOD(>(x1[4], 1), 1113_0_power_Return, x1[4])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] + [bni_41]x1[4] ≥ 0∧[(-1)bso_42] ≥ 0)
(27) (x1[4] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1633_1_COS_INVOKEMETHOD(>(x1[4], 1), 1113_0_power_Return, x1[4])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] + [bni_41]x1[4] ≥ 0∧[(-1)bso_42] ≥ 0)
(28) (x1[4] ≥ 0 ⇒ (UIncreasing(COND_1633_1_COS_INVOKEMETHOD(>(x1[4], 1), 1113_0_power_Return, x1[4])), ≥)∧[bni_41 + (-1)Bound*bni_41] + [bni_41]x1[4] ≥ 0∧[(-1)bso_42] ≥ 0)
(29) (COND_1633_1_COS_INVOKEMETHOD(TRUE, 1113_0_power_Return, x1[5])≥NonInfC∧COND_1633_1_COS_INVOKEMETHOD(TRUE, 1113_0_power_Return, x1[5])≥1404_1_COS_INVOKEMETHOD(1404_0_power_Load(-(x1[5], 1)), -(x1[5], 1))∧(UIncreasing(1404_1_COS_INVOKEMETHOD(1404_0_power_Load(-(x1[5], 1)), -(x1[5], 1))), ≥))
(30) ((UIncreasing(1404_1_COS_INVOKEMETHOD(1404_0_power_Load(-(x1[5], 1)), -(x1[5], 1))), ≥)∧[bni_43] = 0∧[(-1)bso_44] ≥ 0)
(31) ((UIncreasing(1404_1_COS_INVOKEMETHOD(1404_0_power_Load(-(x1[5], 1)), -(x1[5], 1))), ≥)∧[bni_43] = 0∧[(-1)bso_44] ≥ 0)
(32) ((UIncreasing(1404_1_COS_INVOKEMETHOD(1404_0_power_Load(-(x1[5], 1)), -(x1[5], 1))), ≥)∧[bni_43] = 0∧[(-1)bso_44] ≥ 0)
(33) ((UIncreasing(1404_1_COS_INVOKEMETHOD(1404_0_power_Load(-(x1[5], 1)), -(x1[5], 1))), ≥)∧[bni_43] = 0∧0 = 0∧[(-1)bso_44] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(1404_0_power_Load(x1)) = [-1] + [-1]x1
POL(757_0_power_GT(x1)) = 0
POL(1534_0_power_Load(x1)) = 0
POL(1633_0_fact_Load(x1)) = [-1] + x1
POL(1175_0_fact_GT(x1)) = 0
POL(0) = 0
POL(797_0_power_Return(x1)) = 0
POL(Cond_757_0_power_GT(x1, x2, x3)) = 0
POL(>(x1, x2)) = 0
POL(864_1_power_InvokeMethod(x1)) = 0
POL(1113_0_power_Return) = 0
POL(Cond_1175_0_fact_GT(x1, x2, x3)) = [-1]
POL(1252_1_fact_InvokeMethod(x1, x2)) = [2] + [-1]x2
POL(Cond_1252_1_fact_InvokeMethod(x1, x2, x3)) = [1] + x3
POL(1738_1_cos_InvokeMethod(x1, x2)) = [-1]
POL(1404_1_COS_INVOKEMETHOD(x1, x2)) = x2
POL(COND_1404_1_COS_INVOKEMETHOD(x1, x2, x3)) = [-1] + x3
POL(1534_1_COS_INVOKEMETHOD(x1, x2)) = [-1] + [2]x1 + x2
POL(*(x1, x2)) = x1·x2
POL(2) = [2]
POL(COND_1534_1_COS_INVOKEMETHOD(x1, x2, x3)) = [-1] + x3
POL(1633_1_COS_INVOKEMETHOD(x1, x2)) = [-1] + x2
POL(COND_1633_1_COS_INVOKEMETHOD(x1, x2, x3)) = [-1] + x3
POL(1) = [1]
POL(-(x1, x2)) = x1 + [-1]x2
1404_1_COS_INVOKEMETHOD(1113_0_power_Return, x1[0]) → COND_1404_1_COS_INVOKEMETHOD(>(x1[0], 0), 1113_0_power_Return, x1[0])
1404_1_COS_INVOKEMETHOD(1113_0_power_Return, x1[0]) → COND_1404_1_COS_INVOKEMETHOD(>(x1[0], 0), 1113_0_power_Return, x1[0])
1534_1_COS_INVOKEMETHOD(1113_0_power_Return, x1[2]) → COND_1534_1_COS_INVOKEMETHOD(>(x1[2], 0), 1113_0_power_Return, x1[2])
1633_1_COS_INVOKEMETHOD(1113_0_power_Return, x1[4]) → COND_1633_1_COS_INVOKEMETHOD(>(x1[4], 1), 1113_0_power_Return, x1[4])
COND_1404_1_COS_INVOKEMETHOD(TRUE, 1113_0_power_Return, x1[1]) → 1534_1_COS_INVOKEMETHOD(1534_0_power_Load(*(2, x1[1])), x1[1])
1534_1_COS_INVOKEMETHOD(1113_0_power_Return, x1[2]) → COND_1534_1_COS_INVOKEMETHOD(>(x1[2], 0), 1113_0_power_Return, x1[2])
COND_1534_1_COS_INVOKEMETHOD(TRUE, 1113_0_power_Return, x1[3]) → 1633_1_COS_INVOKEMETHOD(1633_0_fact_Load(*(2, x1[3])), x1[3])
1633_1_COS_INVOKEMETHOD(1113_0_power_Return, x1[4]) → COND_1633_1_COS_INVOKEMETHOD(>(x1[4], 1), 1113_0_power_Return, x1[4])
COND_1633_1_COS_INVOKEMETHOD(TRUE, 1113_0_power_Return, x1[5]) → 1404_1_COS_INVOKEMETHOD(1404_0_power_Load(-(x1[5], 1)), -(x1[5], 1))
1534_0_power_Load(x1)1 ↔ 757_0_power_GT(x1)1
757_0_power_GT(0)1 ↔ 797_0_power_Return(x0)1
757_0_power_GT(x1)1 ↔ Cond_757_0_power_GT(>(x1, 0), x1, x2)1
Cond_757_0_power_GT(TRUE, x1, x2)1 ↔ 864_1_power_InvokeMethod(757_0_power_GT(x2))1
864_1_power_InvokeMethod(797_0_power_Return(x0))1 ↔ 1113_0_power_Return1
864_1_power_InvokeMethod(1113_0_power_Return)1 ↔ 1113_0_power_Return1
1175_0_fact_GT(0)1 → 1113_0_power_Return1
1175_0_fact_GT(x0)1 → Cond_1175_0_fact_GT(>(x0, 0), x0, x1)1
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
(1) -> (2), if (1534_0_power_Load(2 * x1[1]) →* 1113_0_power_Return∧x1[1] →* x1[2])
(2) -> (3), if (x1[2] > 0 ∧x1[2] →* x1[3])
(3) -> (4), if (1633_0_fact_Load(2 * x1[3]) →* 1113_0_power_Return∧x1[3] →* x1[4])
(4) -> (5), if (x1[4] > 1 ∧x1[4] →* x1[5])
Generated 34 rules for P and 58 rules for R.
P rules:
1276_0_sin_GT(EOS(STATIC_1276), i233, i240, i240) → 1290_0_sin_GT(EOS(STATIC_1290), i233, i240, i240)
1290_0_sin_GT(EOS(STATIC_1290), i233, i240, i240) → 1299_0_sin_ConstantStackPush(EOS(STATIC_1299), i233, i240) | >(i240, 0)
1299_0_sin_ConstantStackPush(EOS(STATIC_1299), i233, i240) → 1310_0_sin_Load(EOS(STATIC_1310), i233, i240, -1)
1310_0_sin_Load(EOS(STATIC_1310), i233, i240, matching1) → 1324_0_sin_InvokeMethod(EOS(STATIC_1324), i233, i240, -1, i240) | =(matching1, -1)
1324_0_sin_InvokeMethod(EOS(STATIC_1324), i233, i240, matching1, i240) → 1336_1_sin_InvokeMethod(1336_0_power_Load(EOS(STATIC_1336), -1, i240), i233, i240, -1, i240) | =(matching1, -1)
1336_1_sin_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113), i186), i233, i253, matching1, i253) → 1395_0_power_Return(EOS(STATIC_1395), i233, i253, -1, i253, i186) | =(matching1, -1)
1395_0_power_Return(EOS(STATIC_1395), i233, i253, matching1, i253, i186) → 1407_0_sin_Load(EOS(STATIC_1407), i233, i253, i186) | =(matching1, -1)
1407_0_sin_Load(EOS(STATIC_1407), i233, i253, i186) → 1420_0_sin_ConstantStackPush(EOS(STATIC_1420), i233, i253, i186, i233)
1420_0_sin_ConstantStackPush(EOS(STATIC_1420), i233, i253, i186, i233) → 1433_0_sin_Load(EOS(STATIC_1433), i233, i253, i186, i233, 2)
1433_0_sin_Load(EOS(STATIC_1433), i233, i253, i186, i233, matching1) → 1447_0_sin_IntArithmetic(EOS(STATIC_1447), i233, i253, i186, i233, 2, i253) | =(matching1, 2)
1447_0_sin_IntArithmetic(EOS(STATIC_1447), i233, i253, i186, i233, matching1, i253) → 1466_0_sin_ConstantStackPush(EOS(STATIC_1466), i233, i253, i186, i233, *(2, i253)) | &&(>=(i253, 1), =(matching1, 2))
1466_0_sin_ConstantStackPush(EOS(STATIC_1466), i233, i253, i186, i233, i283) → 1478_0_sin_IntArithmetic(EOS(STATIC_1478), i233, i253, i186, i233, i283, 1)
1478_0_sin_IntArithmetic(EOS(STATIC_1478), i233, i253, i186, i233, i283, matching1) → 1492_0_sin_InvokeMethod(EOS(STATIC_1492), i233, i253, i186, i233, +(i283, 1)) | &&(>(i283, 0), =(matching1, 1))
1492_0_sin_InvokeMethod(EOS(STATIC_1492), i233, i253, i186, i233, i290) → 1501_1_sin_InvokeMethod(1501_0_power_Load(EOS(STATIC_1501), i233, i290), i233, i253, i186, i233, i290)
1501_1_sin_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113), i310), i311, i253, i186, i311, i312) → 1551_0_power_Return(EOS(STATIC_1551), i311, i253, i186, i311, i312, i310)
1551_0_power_Return(EOS(STATIC_1551), i311, i253, i186, i311, i312, i310) → 1556_0_sin_IntArithmetic(EOS(STATIC_1556), i311, i253, i186, i310)
1556_0_sin_IntArithmetic(EOS(STATIC_1556), i311, i253, i186, i310) → 1566_0_sin_ConstantStackPush(EOS(STATIC_1566), i311, i253, *(i186, i310))
1566_0_sin_ConstantStackPush(EOS(STATIC_1566), i311, i253, i322) → 1576_0_sin_Load(EOS(STATIC_1576), i311, i253, i322, 2)
1576_0_sin_Load(EOS(STATIC_1576), i311, i253, i322, matching1) → 1585_0_sin_IntArithmetic(EOS(STATIC_1585), i311, i253, i322, 2, i253) | =(matching1, 2)
1585_0_sin_IntArithmetic(EOS(STATIC_1585), i311, i253, i322, matching1, i253) → 1593_0_sin_ConstantStackPush(EOS(STATIC_1593), i311, i253, i322, *(2, i253)) | &&(>=(i253, 1), =(matching1, 2))
1593_0_sin_ConstantStackPush(EOS(STATIC_1593), i311, i253, i322, i329) → 1601_0_sin_IntArithmetic(EOS(STATIC_1601), i311, i253, i322, i329, 1)
1601_0_sin_IntArithmetic(EOS(STATIC_1601), i311, i253, i322, i329, matching1) → 1611_0_sin_InvokeMethod(EOS(STATIC_1611), i311, i253, i322, +(i329, 1)) | &&(>(i329, 0), =(matching1, 1))
1611_0_sin_InvokeMethod(EOS(STATIC_1611), i311, i253, i322, i334) → 1619_1_sin_InvokeMethod(1619_0_fact_Load(EOS(STATIC_1619), i334), i311, i253, i322, i334)
1619_1_sin_InvokeMethod(1449_0_fact_Return(EOS(STATIC_1449), i279), i311, i253, i322, i352) → 1678_0_fact_Return(EOS(STATIC_1678), i311, i253, i322, i352, i279)
1678_0_fact_Return(EOS(STATIC_1678), i311, i253, i322, i352, i279) → 1687_0_sin_IntArithmetic(EOS(STATIC_1687), i311, i253, i322, i279)
1687_0_sin_IntArithmetic(EOS(STATIC_1687), i311, i253, i322, i279) → 1693_0_sin_Load(EOS(STATIC_1693), i311, i253, /(i322, i279)) | >=(i279, 1)
1693_0_sin_Load(EOS(STATIC_1693), i311, i253, i355) → 1703_0_sin_Load(EOS(STATIC_1703), i253, i355, i311)
1703_0_sin_Load(EOS(STATIC_1703), i253, i355, i311) → 1709_0_sin_ConstantStackPush(EOS(STATIC_1709), i355, i311, i253)
1709_0_sin_ConstantStackPush(EOS(STATIC_1709), i355, i311, i253) → 1715_0_sin_IntArithmetic(EOS(STATIC_1715), i355, i311, i253, 1)
1715_0_sin_IntArithmetic(EOS(STATIC_1715), i355, i311, i253, matching1) → 1723_0_sin_InvokeMethod(EOS(STATIC_1723), i355, i311, -(i253, 1)) | &&(>(i253, 0), =(matching1, 1))
1723_0_sin_InvokeMethod(EOS(STATIC_1723), i355, i311, i362) → 1731_1_sin_InvokeMethod(1731_0_sin_Load(EOS(STATIC_1731), i311, i362), i355, i311, i362)
1731_0_sin_Load(EOS(STATIC_1731), i311, i362) → 1740_0_sin_Load(EOS(STATIC_1740), i311, i362)
1740_0_sin_Load(EOS(STATIC_1740), i311, i362) → 1268_0_sin_Load(EOS(STATIC_1268), i311, i362)
1268_0_sin_Load(EOS(STATIC_1268), i233, i234) → 1276_0_sin_GT(EOS(STATIC_1276), i233, i234, i234)
R rules:
1336_0_power_Load(EOS(STATIC_1336), matching1, i240) → 1352_0_power_Load(EOS(STATIC_1352), -1, i240) | =(matching1, -1)
1352_0_power_Load(EOS(STATIC_1352), matching1, i240) → 741_0_power_Load(EOS(STATIC_741), -1, i240) | =(matching1, -1)
1501_0_power_Load(EOS(STATIC_1501), i233, i290) → 1513_0_power_Load(EOS(STATIC_1513), i233, i290)
1513_0_power_Load(EOS(STATIC_1513), i233, i290) → 741_0_power_Load(EOS(STATIC_741), i233, i290)
1619_0_fact_Load(EOS(STATIC_1619), i334) → 1635_0_fact_Load(EOS(STATIC_1635), i334)
1635_0_fact_Load(EOS(STATIC_1635), i334) → 1167_0_fact_Load(EOS(STATIC_1167), i334)
874_0_power_Load(EOS(STATIC_874), i87) → 741_0_power_Load(EOS(STATIC_741), i87, i111)
1261_0_fact_Load(EOS(STATIC_1261)) → 1167_0_fact_Load(EOS(STATIC_1167), i230)
741_0_power_Load(EOS(STATIC_741), i87, i88) → 757_0_power_GT(EOS(STATIC_757), i87, i88, i88)
757_0_power_GT(EOS(STATIC_757), i87, matching1, matching2) → 769_0_power_GT(EOS(STATIC_769), i87, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
757_0_power_GT(EOS(STATIC_757), i87, i96, i96) → 770_0_power_GT(EOS(STATIC_770), i87, i96, i96)
769_0_power_GT(EOS(STATIC_769), i87, matching1, matching2) → 785_0_power_ConstantStackPush(EOS(STATIC_785), i87, 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
770_0_power_GT(EOS(STATIC_770), i87, i96, i96) → 786_0_power_Load(EOS(STATIC_786), i87, i96) | >(i96, 0)
785_0_power_ConstantStackPush(EOS(STATIC_785), i87, matching1) → 797_0_power_Return(EOS(STATIC_797), i87, 0, 1) | =(matching1, 0)
786_0_power_Load(EOS(STATIC_786), i87, i96) → 799_0_power_Load(EOS(STATIC_799), i87, i96, i87)
799_0_power_Load(EOS(STATIC_799), i87, i96, i87) → 812_0_power_Load(EOS(STATIC_812), i96, i87, i87)
812_0_power_Load(EOS(STATIC_812), i96, i87, i87) → 832_0_power_ConstantStackPush(EOS(STATIC_832), i87, i87, i96)
832_0_power_ConstantStackPush(EOS(STATIC_832), i87, i87, i96) → 844_0_power_IntArithmetic(EOS(STATIC_844), i87, i87, i96)
844_0_power_IntArithmetic(EOS(STATIC_844), i87, i87, i96) → 857_0_power_InvokeMethod(EOS(STATIC_857), i87, i87) | >(i96, 0)
857_0_power_InvokeMethod(EOS(STATIC_857), i87, i87) → 864_1_power_InvokeMethod(864_0_power_Load(EOS(STATIC_864), i87), i87, i87)
864_0_power_Load(EOS(STATIC_864), i87) → 874_0_power_Load(EOS(STATIC_874), i87)
864_1_power_InvokeMethod(797_0_power_Return(EOS(STATIC_797), i121, matching1, matching2), i121, i121) → 918_0_power_Return(EOS(STATIC_918), i121, i121, 0, i121, 0, 1) | &&(=(matching1, 0), =(matching2, 1))
864_1_power_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113), i186), i192, i192) → 1159_0_power_Return(EOS(STATIC_1159), i192, i192, i186)
918_0_power_Return(EOS(STATIC_918), i121, i121, matching1, i121, matching2, matching3) → 924_0_power_IntArithmetic(EOS(STATIC_924), i121, 1) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 1))
924_0_power_IntArithmetic(EOS(STATIC_924), i121, matching1) → 1104_0_power_IntArithmetic(EOS(STATIC_1104), i121, 1) | =(matching1, 1)
1094_0_power_Return(EOS(STATIC_1094), i179, i179, i180) → 1104_0_power_IntArithmetic(EOS(STATIC_1104), i179, i180)
1104_0_power_IntArithmetic(EOS(STATIC_1104), i179, i180) → 1113_0_power_Return(EOS(STATIC_1113), *(i179, i180))
1159_0_power_Return(EOS(STATIC_1159), i192, i192, i186) → 1094_0_power_Return(EOS(STATIC_1094), i192, i192, i186)
1167_0_fact_Load(EOS(STATIC_1167), i206) → 1175_0_fact_GT(EOS(STATIC_1175), i206, i206)
1175_0_fact_GT(EOS(STATIC_1175), matching1, matching2) → 1182_0_fact_GT(EOS(STATIC_1182), 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1175_0_fact_GT(EOS(STATIC_1175), i214, i214) → 1183_0_fact_GT(EOS(STATIC_1183), i214, i214)
1182_0_fact_GT(EOS(STATIC_1182), matching1, matching2) → 1195_0_fact_ConstantStackPush(EOS(STATIC_1195), 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
1183_0_fact_GT(EOS(STATIC_1183), i214, i214) → 1197_0_fact_Load(EOS(STATIC_1197), i214) | >(i214, 0)
1195_0_fact_ConstantStackPush(EOS(STATIC_1195), matching1) → 1204_0_fact_Return(EOS(STATIC_1204), 0, 1) | =(matching1, 0)
1197_0_fact_Load(EOS(STATIC_1197), i214) → 1206_0_fact_Load(EOS(STATIC_1206), i214, i214)
1206_0_fact_Load(EOS(STATIC_1206), i214, i214) → 1220_0_fact_ConstantStackPush(EOS(STATIC_1220), i214, i214)
1220_0_fact_ConstantStackPush(EOS(STATIC_1220), i214, i214) → 1231_0_fact_IntArithmetic(EOS(STATIC_1231), i214, i214)
1231_0_fact_IntArithmetic(EOS(STATIC_1231), i214, i214) → 1242_0_fact_InvokeMethod(EOS(STATIC_1242), i214) | >(i214, 0)
1242_0_fact_InvokeMethod(EOS(STATIC_1242), i214) → 1252_1_fact_InvokeMethod(1252_0_fact_Load(EOS(STATIC_1252)), i214)
1252_0_fact_Load(EOS(STATIC_1252)) → 1261_0_fact_Load(EOS(STATIC_1261))
1252_1_fact_InvokeMethod(1204_0_fact_Return(EOS(STATIC_1204), matching1, matching2), i214) → 1292_0_fact_Return(EOS(STATIC_1292), i214, 0, 0, 1) | &&(=(matching1, 0), =(matching2, 1))
1252_1_fact_InvokeMethod(1449_0_fact_Return(EOS(STATIC_1449), i279), i214) → 1494_0_fact_Return(EOS(STATIC_1494), i214, i279)
1292_0_fact_Return(EOS(STATIC_1292), i214, matching1, matching2, matching3) → 1302_0_fact_IntArithmetic(EOS(STATIC_1302), i214, 1) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 1))
1302_0_fact_IntArithmetic(EOS(STATIC_1302), i214, matching1) → 1367_0_fact_IntArithmetic(EOS(STATIC_1367), i214, 1) | =(matching1, 1)
1367_0_fact_IntArithmetic(EOS(STATIC_1367), i214, i248) → 1435_0_fact_IntArithmetic(EOS(STATIC_1435), i214, i248)
1425_0_fact_Return(EOS(STATIC_1425), i214, i268) → 1435_0_fact_IntArithmetic(EOS(STATIC_1435), i214, i268)
1435_0_fact_IntArithmetic(EOS(STATIC_1435), i214, i268) → 1449_0_fact_Return(EOS(STATIC_1449), *(i214, i268)) | &&(>=(i214, 1), >=(i268, 1))
1494_0_fact_Return(EOS(STATIC_1494), i214, i279) → 1425_0_fact_Return(EOS(STATIC_1425), i214, i279)
1276_0_sin_GT(EOS(STATIC_1276), i233, matching1, matching2) → 1289_0_sin_GT(EOS(STATIC_1289), i233, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1289_0_sin_GT(EOS(STATIC_1289), i233, matching1, matching2) → 1298_0_sin_Load(EOS(STATIC_1298), i233, 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
1298_0_sin_Load(EOS(STATIC_1298), i233, matching1) → 1308_0_sin_Return(EOS(STATIC_1308), i233, 0, i233) | =(matching1, 0)
1731_1_sin_InvokeMethod(1308_0_sin_Return(EOS(STATIC_1308), i376, matching1, i376), i355, i376, matching2) → 1766_0_sin_Return(EOS(STATIC_1766), i355, i376, 0, i376, 0, i376) | &&(=(matching1, 0), =(matching2, 0))
1731_1_sin_InvokeMethod(1842_0_sin_Return(EOS(STATIC_1842), i412), i355, i422, i423) → 1885_0_sin_Return(EOS(STATIC_1885), i355, i422, i423, i412)
1766_0_sin_Return(EOS(STATIC_1766), i355, i376, matching1, i376, matching2, i376) → 1775_0_sin_IntArithmetic(EOS(STATIC_1775), i355, i376) | &&(=(matching1, 0), =(matching2, 0))
1775_0_sin_IntArithmetic(EOS(STATIC_1775), i355, i376) → 1831_0_sin_IntArithmetic(EOS(STATIC_1831), i355, i376)
1820_0_sin_Return(EOS(STATIC_1820), i355, i399, i400, i388) → 1831_0_sin_IntArithmetic(EOS(STATIC_1831), i355, i388)
1831_0_sin_IntArithmetic(EOS(STATIC_1831), i355, i388) → 1842_0_sin_Return(EOS(STATIC_1842), +(i355, i388))
1885_0_sin_Return(EOS(STATIC_1885), i355, i422, i423, i412) → 1820_0_sin_Return(EOS(STATIC_1820), i355, i422, i423, i412)
Combined rules. Obtained 3 conditional rules for P and 13 conditional rules for R.
P rules:
1336_1_sin_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113), x0), x1, x2, -1, x2) → 1501_1_sin_InvokeMethod(1501_0_power_Load(EOS(STATIC_1501), x1, +(*(2, x2), 1)), x1, x2, x0, x1, +(*(2, x2), 1)) | &&(>(+(x2, 1), 1), <(0, *(2, x2)))
1501_1_sin_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113), x0), x1, x2, x3, x1, x4) → 1619_1_sin_InvokeMethod(1619_0_fact_Load(EOS(STATIC_1619), +(*(2, x2), 1)), x1, x2, *(x3, x0), +(*(2, x2), 1)) | &&(>(+(x2, 1), 1), <(0, *(2, x2)))
1619_1_sin_InvokeMethod(1449_0_fact_Return(EOS(STATIC_1449), x0), x1, x2, x3, x4) → 1731_1_sin_InvokeMethod(1336_1_sin_InvokeMethod(1336_0_power_Load(EOS(STATIC_1336), -1, -(x2, 1)), x1, -(x2, 1), -1, -(x2, 1)), /(x3, x0), x1, -(x2, 1)) | &&(>(x2, 1), >(+(x0, 1), 1))
R rules:
1336_0_power_Load(EOS(STATIC_1336), -1, x1) → 757_0_power_GT(EOS(STATIC_757), -1, x1, x1)
1501_0_power_Load(EOS(STATIC_1501), x0, x1) → 757_0_power_GT(EOS(STATIC_757), x0, x1, x1)
1619_0_fact_Load(EOS(STATIC_1619), x0) → 1175_0_fact_GT(EOS(STATIC_1175), x0, x0)
757_0_power_GT(EOS(STATIC_757), x0, 0, 0) → 797_0_power_Return(EOS(STATIC_797), x0, 0, 1)
757_0_power_GT(EOS(STATIC_757), x0, x1, x1) → 864_1_power_InvokeMethod(757_0_power_GT(EOS(STATIC_757), x0, x2, x2), x0, x0) | >(x1, 0)
864_1_power_InvokeMethod(797_0_power_Return(EOS(STATIC_797), arith[1], 0, 1), arith[1], arith[1]) → 1113_0_power_Return(EOS(STATIC_1113), arith[1])
864_1_power_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113), x0), x1, x1) → 1113_0_power_Return(EOS(STATIC_1113), *(x1, x0))
1175_0_fact_GT(EOS(STATIC_1175), 0, 0) → 1204_0_fact_Return(EOS(STATIC_1204), 0, 1)
1175_0_fact_GT(EOS(STATIC_1175), x0, x0) → 1252_1_fact_InvokeMethod(1175_0_fact_GT(EOS(STATIC_1175), x1, x1), x0) | >(x0, 0)
1252_1_fact_InvokeMethod(1204_0_fact_Return(EOS(STATIC_1204), 0, 1), arith[1]) → 1449_0_fact_Return(EOS(STATIC_1449), arith[1]) | >(+(arith[1], 1), 1)
1252_1_fact_InvokeMethod(1449_0_fact_Return(EOS(STATIC_1449), x0), x1) → 1449_0_fact_Return(EOS(STATIC_1449), *(x1, x0)) | &&(>(+(x1, 1), 1), >(+(x0, 1), 1))
1731_1_sin_InvokeMethod(1308_0_sin_Return(EOS(STATIC_1308), x0, 0, x0), x2, x0, 0) → 1842_0_sin_Return(EOS(STATIC_1842), +(x2, x0))
1731_1_sin_InvokeMethod(1842_0_sin_Return(EOS(STATIC_1842), x0), x1, x2, x3) → 1842_0_sin_Return(EOS(STATIC_1842), +(x1, x0))
Filtered ground terms:
1336_0_power_Load(x1, x2, x3) → 1336_0_power_Load(x3)
1336_1_sin_InvokeMethod(x1, x2, x3, x4, x5) → 1336_1_sin_InvokeMethod(x1, x2, x3, x5)
1449_0_fact_Return(x1, x2) → 1449_0_fact_Return(x2)
1619_0_fact_Load(x1, x2) → 1619_0_fact_Load(x2)
1113_0_power_Return(x1, x2) → 1113_0_power_Return(x2)
1501_0_power_Load(x1, x2, x3) → 1501_0_power_Load(x2, x3)
Cond_1336_1_sin_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1336_1_sin_InvokeMethod(x1, x2, x3, x4, x6)
1842_0_sin_Return(x1, x2) → 1842_0_sin_Return(x2)
1308_0_sin_Return(x1, x2, x3, x4) → 1308_0_sin_Return(x2, x4)
Cond_1252_1_fact_InvokeMethod(x1, x2, x3) → Cond_1252_1_fact_InvokeMethod(x1, x3)
1204_0_fact_Return(x1, x2, x3) → 1204_0_fact_Return
1175_0_fact_GT(x1, x2, x3) → 1175_0_fact_GT(x2, x3)
Cond_1175_0_fact_GT(x1, x2, x3, x4, x5) → Cond_1175_0_fact_GT(x1, x3, x4, x5)
797_0_power_Return(x1, x2, x3, x4) → 797_0_power_Return(x2)
757_0_power_GT(x1, x2, x3, x4) → 757_0_power_GT(x2, x3, x4)
Cond_757_0_power_GT(x1, x2, x3, x4, x5, x6) → Cond_757_0_power_GT(x1, x3, x4, x5, x6)
Filtered duplicate args:
1336_1_sin_InvokeMethod(x1, x2, x3, x4) → 1336_1_sin_InvokeMethod(x1, x2, x4)
Cond_1336_1_sin_InvokeMethod(x1, x2, x3, x4, x5) → Cond_1336_1_sin_InvokeMethod(x1, x2, x3, x5)
1501_1_sin_InvokeMethod(x1, x2, x3, x4, x5, x6) → 1501_1_sin_InvokeMethod(x1, x3, x4, x5, x6)
Cond_1501_1_sin_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → Cond_1501_1_sin_InvokeMethod(x1, x2, x4, x5, x6, x7)
757_0_power_GT(x1, x2, x3) → 757_0_power_GT(x1, x3)
1175_0_fact_GT(x1, x2) → 1175_0_fact_GT(x2)
Cond_757_0_power_GT(x1, x2, x3, x4, x5) → Cond_757_0_power_GT(x1, x2, x4, x5)
864_1_power_InvokeMethod(x1, x2, x3) → 864_1_power_InvokeMethod(x1, x3)
Cond_1175_0_fact_GT(x1, x2, x3, x4) → Cond_1175_0_fact_GT(x1, x3, x4)
1308_0_sin_Return(x1, x2) → 1308_0_sin_Return(x2)
Filtered unneeded arguments:
1336_1_sin_InvokeMethod(x1, x2, x3) → 1336_1_sin_InvokeMethod(x1, x3)
Cond_1336_1_sin_InvokeMethod(x1, x2, x3, x4) → Cond_1336_1_sin_InvokeMethod(x1, x4)
1501_1_sin_InvokeMethod(x1, x2, x3, x4, x5) → 1501_1_sin_InvokeMethod(x1, x2)
Cond_1501_1_sin_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1501_1_sin_InvokeMethod(x1, x3)
1619_1_sin_InvokeMethod(x1, x2, x3, x4, x5) → 1619_1_sin_InvokeMethod(x1, x3)
Cond_1619_1_sin_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1619_1_sin_InvokeMethod(x1, x4)
1731_1_sin_InvokeMethod(x1, x2, x3, x4) → 1731_1_sin_InvokeMethod(x1, x4)
757_0_power_GT(x1, x2) → 757_0_power_GT(x2)
Cond_757_0_power_GT(x1, x2, x3, x4) → Cond_757_0_power_GT(x1, x4)
864_1_power_InvokeMethod(x1, x2) → 864_1_power_InvokeMethod(x1)
1501_0_power_Load(x1, x2) → 1501_0_power_Load(x2)
Combined rules. Obtained 3 conditional rules for P and 13 conditional rules for R.
P rules:
1336_1_sin_InvokeMethod(1113_0_power_Return(x0), x2) → 1501_1_sin_InvokeMethod(1501_0_power_Load(+(*(2, x2), 1)), x2) | &&(>(x2, 0), <(0, *(2, x2)))
1501_1_sin_InvokeMethod(1113_0_power_Return(x0), x2) → 1619_1_sin_InvokeMethod(1619_0_fact_Load(+(*(2, x2), 1)), x2) | &&(>(x2, 0), <(0, *(2, x2)))
1619_1_sin_InvokeMethod(1449_0_fact_Return(x0), x2) → 1731_1_sin_InvokeMethod(1336_1_sin_InvokeMethod(1336_0_power_Load(-(x2, 1)), -(x2, 1)), -(x2, 1)) | &&(>(x2, 1), >(x0, 0))
R rules:
1336_0_power_Load(x1) → 757_0_power_GT(x1)
1501_0_power_Load(x1) → 757_0_power_GT(x1)
1619_0_fact_Load(x0) → 1175_0_fact_GT(x0)
757_0_power_GT(0) → 797_0_power_Return(x0)
757_0_power_GT(x1) → 864_1_power_InvokeMethod(757_0_power_GT(x2)) | >(x1, 0)
864_1_power_InvokeMethod(797_0_power_Return(arith[1])) → 1113_0_power_Return(arith[1])
864_1_power_InvokeMethod(1113_0_power_Return(x0)) → 1113_0_power_Return(*(x1, x0))
1175_0_fact_GT(0) → 1204_0_fact_Return
1175_0_fact_GT(x0) → 1252_1_fact_InvokeMethod(1175_0_fact_GT(x1), x0) | >(x0, 0)
1252_1_fact_InvokeMethod(1204_0_fact_Return, arith[1]) → 1449_0_fact_Return(arith[1]) | >(arith[1], 0)
1252_1_fact_InvokeMethod(1449_0_fact_Return(x0), x1) → 1449_0_fact_Return(*(x1, x0)) | &&(>(x1, 0), >(x0, 0))
1731_1_sin_InvokeMethod(1308_0_sin_Return(x0), 0) → 1842_0_sin_Return(+(x2, x0))
1731_1_sin_InvokeMethod(1842_0_sin_Return(x0), x3) → 1842_0_sin_Return(+(x1, x0))
Performed bisimulation on rules. Used the following equivalence classes: {[1113_0_power_Return_1, 1449_0_fact_Return_1]=1113_0_power_Return_1, [797_0_power_Return_1, 1308_0_sin_Return_1]=797_0_power_Return_1}
Finished conversion. Obtained 6 rules for P and 17 rules for R. System has predefined symbols.
P rules:
1336_1_SIN_INVOKEMETHOD(1113_0_power_Return(x0), x2) → COND_1336_1_SIN_INVOKEMETHOD(&&(>(x2, 0), <(0, *(2, x2))), 1113_0_power_Return(x0), x2)
COND_1336_1_SIN_INVOKEMETHOD(TRUE, 1113_0_power_Return(x0), x2) → 1501_1_SIN_INVOKEMETHOD(1501_0_power_Load(+(*(2, x2), 1)), x2)
1501_1_SIN_INVOKEMETHOD(1113_0_power_Return(x0), x2) → COND_1501_1_SIN_INVOKEMETHOD(&&(>(x2, 0), <(0, *(2, x2))), 1113_0_power_Return(x0), x2)
COND_1501_1_SIN_INVOKEMETHOD(TRUE, 1113_0_power_Return(x0), x2) → 1619_1_SIN_INVOKEMETHOD(1619_0_fact_Load(+(*(2, x2), 1)), x2)
1619_1_SIN_INVOKEMETHOD(1113_0_power_Return(x0), x2) → COND_1619_1_SIN_INVOKEMETHOD(&&(>(x2, 1), >(x0, 0)), 1113_0_power_Return(x0), x2)
COND_1619_1_SIN_INVOKEMETHOD(TRUE, 1113_0_power_Return(x0), x2) → 1336_1_SIN_INVOKEMETHOD(1336_0_power_Load(-(x2, 1)), -(x2, 1))
R rules:
1336_0_power_Load(x1) → 757_0_power_GT(x1)
1501_0_power_Load(x1) → 757_0_power_GT(x1)
1619_0_fact_Load(x0) → 1175_0_fact_GT(x0)
757_0_power_GT(0) → 797_0_power_Return(x0)
757_0_power_GT(x1) → Cond_757_0_power_GT(>(x1, 0), x1, x2)
Cond_757_0_power_GT(TRUE, x1, x2) → 864_1_power_InvokeMethod(757_0_power_GT(x2))
864_1_power_InvokeMethod(797_0_power_Return(arith[1])) → 1113_0_power_Return(arith[1])
864_1_power_InvokeMethod(1113_0_power_Return(x0)) → 1113_0_power_Return(*(x1, x0))
1175_0_fact_GT(0) → 1204_0_fact_Return
1175_0_fact_GT(x0) → Cond_1175_0_fact_GT(>(x0, 0), x0, x1)
Cond_1175_0_fact_GT(TRUE, x0, x1) → 1252_1_fact_InvokeMethod(1175_0_fact_GT(x1), x0)
1252_1_fact_InvokeMethod(1204_0_fact_Return, arith[1]) → Cond_1252_1_fact_InvokeMethod(>(arith[1], 0), 1204_0_fact_Return, arith[1])
Cond_1252_1_fact_InvokeMethod(TRUE, 1204_0_fact_Return, arith[1]) → 1113_0_power_Return(arith[1])
1252_1_fact_InvokeMethod(1113_0_power_Return(x0), x1) → Cond_1252_1_fact_InvokeMethod1(&&(>(x1, 0), >(x0, 0)), 1113_0_power_Return(x0), x1)
Cond_1252_1_fact_InvokeMethod1(TRUE, 1113_0_power_Return(x0), x1) → 1113_0_power_Return(*(x1, x0))
1731_1_sin_InvokeMethod(797_0_power_Return(x0), 0) → 1842_0_sin_Return(+(x2, x0))
1731_1_sin_InvokeMethod(1842_0_sin_Return(x0), x3) → 1842_0_sin_Return(+(x1, x0))
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(0) -> (1), if (x2[0] > 0 && 0 < 2 * x2[0] ∧1113_0_power_Return(x0[0]) →* 1113_0_power_Return(x0[1])∧x2[0] →* x2[1])
(1) -> (2), if (1501_0_power_Load(2 * x2[1] + 1) →* 1113_0_power_Return(x0[2])∧x2[1] →* x2[2])
(2) -> (3), if (x2[2] > 0 && 0 < 2 * x2[2] ∧1113_0_power_Return(x0[2]) →* 1113_0_power_Return(x0[3])∧x2[2] →* x2[3])
(3) -> (4), if (1619_0_fact_Load(2 * x2[3] + 1) →* 1113_0_power_Return(x0[4])∧x2[3] →* x2[4])
(4) -> (5), if (x2[4] > 1 && x0[4] > 0 ∧1113_0_power_Return(x0[4]) →* 1113_0_power_Return(x0[5])∧x2[4] →* x2[5])
(5) -> (0), if (1336_0_power_Load(x2[5] - 1) →* 1113_0_power_Return(x0[0])∧x2[5] - 1 →* x2[0])
(1) (&&(>(x2[0], 0), <(0, *(2, x2[0])))=TRUE∧1113_0_power_Return(x0[0])=1113_0_power_Return(x0[1])∧x2[0]=x2[1] ⇒ 1336_1_SIN_INVOKEMETHOD(1113_0_power_Return(x0[0]), x2[0])≥NonInfC∧1336_1_SIN_INVOKEMETHOD(1113_0_power_Return(x0[0]), x2[0])≥COND_1336_1_SIN_INVOKEMETHOD(&&(>(x2[0], 0), <(0, *(2, x2[0]))), 1113_0_power_Return(x0[0]), x2[0])∧(UIncreasing(COND_1336_1_SIN_INVOKEMETHOD(&&(>(x2[0], 0), <(0, *(2, x2[0]))), 1113_0_power_Return(x0[0]), x2[0])), ≥))
(2) (>(x2[0], 0)=TRUE∧<(0, *(2, x2[0]))=TRUE ⇒ 1336_1_SIN_INVOKEMETHOD(1113_0_power_Return(x0[0]), x2[0])≥NonInfC∧1336_1_SIN_INVOKEMETHOD(1113_0_power_Return(x0[0]), x2[0])≥COND_1336_1_SIN_INVOKEMETHOD(&&(>(x2[0], 0), <(0, *(2, x2[0]))), 1113_0_power_Return(x0[0]), x2[0])∧(UIncreasing(COND_1336_1_SIN_INVOKEMETHOD(&&(>(x2[0], 0), <(0, *(2, x2[0]))), 1113_0_power_Return(x0[0]), x2[0])), ≥))
(3) (x2[0] + [-1] ≥ 0∧[2]x2[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1336_1_SIN_INVOKEMETHOD(&&(>(x2[0], 0), <(0, *(2, x2[0]))), 1113_0_power_Return(x0[0]), x2[0])), ≥)∧[(2)bni_35 + (-1)Bound*bni_35] + [(2)bni_35]x2[0] ≥ 0∧[1 + (-1)bso_36] ≥ 0)
(4) (x2[0] + [-1] ≥ 0∧[2]x2[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1336_1_SIN_INVOKEMETHOD(&&(>(x2[0], 0), <(0, *(2, x2[0]))), 1113_0_power_Return(x0[0]), x2[0])), ≥)∧[(2)bni_35 + (-1)Bound*bni_35] + [(2)bni_35]x2[0] ≥ 0∧[1 + (-1)bso_36] ≥ 0)
(5) (x2[0] + [-1] ≥ 0∧[2]x2[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1336_1_SIN_INVOKEMETHOD(&&(>(x2[0], 0), <(0, *(2, x2[0]))), 1113_0_power_Return(x0[0]), x2[0])), ≥)∧[(2)bni_35 + (-1)Bound*bni_35] + [(2)bni_35]x2[0] ≥ 0∧[1 + (-1)bso_36] ≥ 0)
(6) (x2[0] + [-1] ≥ 0∧[2]x2[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1336_1_SIN_INVOKEMETHOD(&&(>(x2[0], 0), <(0, *(2, x2[0]))), 1113_0_power_Return(x0[0]), x2[0])), ≥)∧0 = 0∧[(2)bni_35 + (-1)Bound*bni_35] + [(2)bni_35]x2[0] ≥ 0∧0 = 0∧[1 + (-1)bso_36] ≥ 0)
(7) (x2[0] ≥ 0∧[1] + [2]x2[0] ≥ 0 ⇒ (UIncreasing(COND_1336_1_SIN_INVOKEMETHOD(&&(>(x2[0], 0), <(0, *(2, x2[0]))), 1113_0_power_Return(x0[0]), x2[0])), ≥)∧0 = 0∧[(4)bni_35 + (-1)Bound*bni_35] + [(2)bni_35]x2[0] ≥ 0∧0 = 0∧[1 + (-1)bso_36] ≥ 0)
(8) (COND_1336_1_SIN_INVOKEMETHOD(TRUE, 1113_0_power_Return(x0[1]), x2[1])≥NonInfC∧COND_1336_1_SIN_INVOKEMETHOD(TRUE, 1113_0_power_Return(x0[1]), x2[1])≥1501_1_SIN_INVOKEMETHOD(1501_0_power_Load(+(*(2, x2[1]), 1)), x2[1])∧(UIncreasing(1501_1_SIN_INVOKEMETHOD(1501_0_power_Load(+(*(2, x2[1]), 1)), x2[1])), ≥))
(9) ((UIncreasing(1501_1_SIN_INVOKEMETHOD(1501_0_power_Load(+(*(2, x2[1]), 1)), x2[1])), ≥)∧[bni_37] = 0∧[(-1)bso_38] ≥ 0)
(10) ((UIncreasing(1501_1_SIN_INVOKEMETHOD(1501_0_power_Load(+(*(2, x2[1]), 1)), x2[1])), ≥)∧[bni_37] = 0∧[(-1)bso_38] ≥ 0)
(11) ((UIncreasing(1501_1_SIN_INVOKEMETHOD(1501_0_power_Load(+(*(2, x2[1]), 1)), x2[1])), ≥)∧[bni_37] = 0∧[(-1)bso_38] ≥ 0)
(12) ((UIncreasing(1501_1_SIN_INVOKEMETHOD(1501_0_power_Load(+(*(2, x2[1]), 1)), x2[1])), ≥)∧[bni_37] = 0∧0 = 0∧0 = 0∧[(-1)bso_38] ≥ 0)
(13) (&&(>(x2[2], 0), <(0, *(2, x2[2])))=TRUE∧1113_0_power_Return(x0[2])=1113_0_power_Return(x0[3])∧x2[2]=x2[3] ⇒ 1501_1_SIN_INVOKEMETHOD(1113_0_power_Return(x0[2]), x2[2])≥NonInfC∧1501_1_SIN_INVOKEMETHOD(1113_0_power_Return(x0[2]), x2[2])≥COND_1501_1_SIN_INVOKEMETHOD(&&(>(x2[2], 0), <(0, *(2, x2[2]))), 1113_0_power_Return(x0[2]), x2[2])∧(UIncreasing(COND_1501_1_SIN_INVOKEMETHOD(&&(>(x2[2], 0), <(0, *(2, x2[2]))), 1113_0_power_Return(x0[2]), x2[2])), ≥))
(14) (>(x2[2], 0)=TRUE∧<(0, *(2, x2[2]))=TRUE ⇒ 1501_1_SIN_INVOKEMETHOD(1113_0_power_Return(x0[2]), x2[2])≥NonInfC∧1501_1_SIN_INVOKEMETHOD(1113_0_power_Return(x0[2]), x2[2])≥COND_1501_1_SIN_INVOKEMETHOD(&&(>(x2[2], 0), <(0, *(2, x2[2]))), 1113_0_power_Return(x0[2]), x2[2])∧(UIncreasing(COND_1501_1_SIN_INVOKEMETHOD(&&(>(x2[2], 0), <(0, *(2, x2[2]))), 1113_0_power_Return(x0[2]), x2[2])), ≥))
(15) (x2[2] + [-1] ≥ 0∧[2]x2[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1501_1_SIN_INVOKEMETHOD(&&(>(x2[2], 0), <(0, *(2, x2[2]))), 1113_0_power_Return(x0[2]), x2[2])), ≥)∧[bni_39 + (-1)Bound*bni_39] + [(2)bni_39]x2[2] ≥ 0∧[(-1)bso_40] ≥ 0)
(16) (x2[2] + [-1] ≥ 0∧[2]x2[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1501_1_SIN_INVOKEMETHOD(&&(>(x2[2], 0), <(0, *(2, x2[2]))), 1113_0_power_Return(x0[2]), x2[2])), ≥)∧[bni_39 + (-1)Bound*bni_39] + [(2)bni_39]x2[2] ≥ 0∧[(-1)bso_40] ≥ 0)
(17) (x2[2] + [-1] ≥ 0∧[2]x2[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1501_1_SIN_INVOKEMETHOD(&&(>(x2[2], 0), <(0, *(2, x2[2]))), 1113_0_power_Return(x0[2]), x2[2])), ≥)∧[bni_39 + (-1)Bound*bni_39] + [(2)bni_39]x2[2] ≥ 0∧[(-1)bso_40] ≥ 0)
(18) (x2[2] + [-1] ≥ 0∧[2]x2[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1501_1_SIN_INVOKEMETHOD(&&(>(x2[2], 0), <(0, *(2, x2[2]))), 1113_0_power_Return(x0[2]), x2[2])), ≥)∧0 = 0∧[bni_39 + (-1)Bound*bni_39] + [(2)bni_39]x2[2] ≥ 0∧0 = 0∧[(-1)bso_40] ≥ 0)
(19) (x2[2] ≥ 0∧[1] + [2]x2[2] ≥ 0 ⇒ (UIncreasing(COND_1501_1_SIN_INVOKEMETHOD(&&(>(x2[2], 0), <(0, *(2, x2[2]))), 1113_0_power_Return(x0[2]), x2[2])), ≥)∧0 = 0∧[(3)bni_39 + (-1)Bound*bni_39] + [(2)bni_39]x2[2] ≥ 0∧0 = 0∧[(-1)bso_40] ≥ 0)
(20) (COND_1501_1_SIN_INVOKEMETHOD(TRUE, 1113_0_power_Return(x0[3]), x2[3])≥NonInfC∧COND_1501_1_SIN_INVOKEMETHOD(TRUE, 1113_0_power_Return(x0[3]), x2[3])≥1619_1_SIN_INVOKEMETHOD(1619_0_fact_Load(+(*(2, x2[3]), 1)), x2[3])∧(UIncreasing(1619_1_SIN_INVOKEMETHOD(1619_0_fact_Load(+(*(2, x2[3]), 1)), x2[3])), ≥))
(21) ((UIncreasing(1619_1_SIN_INVOKEMETHOD(1619_0_fact_Load(+(*(2, x2[3]), 1)), x2[3])), ≥)∧[bni_41] = 0∧[1 + (-1)bso_42] ≥ 0)
(22) ((UIncreasing(1619_1_SIN_INVOKEMETHOD(1619_0_fact_Load(+(*(2, x2[3]), 1)), x2[3])), ≥)∧[bni_41] = 0∧[1 + (-1)bso_42] ≥ 0)
(23) ((UIncreasing(1619_1_SIN_INVOKEMETHOD(1619_0_fact_Load(+(*(2, x2[3]), 1)), x2[3])), ≥)∧[bni_41] = 0∧[1 + (-1)bso_42] ≥ 0)
(24) ((UIncreasing(1619_1_SIN_INVOKEMETHOD(1619_0_fact_Load(+(*(2, x2[3]), 1)), x2[3])), ≥)∧[bni_41] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_42] ≥ 0)
(25) (&&(>(x2[4], 1), >(x0[4], 0))=TRUE∧1113_0_power_Return(x0[4])=1113_0_power_Return(x0[5])∧x2[4]=x2[5] ⇒ 1619_1_SIN_INVOKEMETHOD(1113_0_power_Return(x0[4]), x2[4])≥NonInfC∧1619_1_SIN_INVOKEMETHOD(1113_0_power_Return(x0[4]), x2[4])≥COND_1619_1_SIN_INVOKEMETHOD(&&(>(x2[4], 1), >(x0[4], 0)), 1113_0_power_Return(x0[4]), x2[4])∧(UIncreasing(COND_1619_1_SIN_INVOKEMETHOD(&&(>(x2[4], 1), >(x0[4], 0)), 1113_0_power_Return(x0[4]), x2[4])), ≥))
(26) (>(x2[4], 1)=TRUE∧>(x0[4], 0)=TRUE ⇒ 1619_1_SIN_INVOKEMETHOD(1113_0_power_Return(x0[4]), x2[4])≥NonInfC∧1619_1_SIN_INVOKEMETHOD(1113_0_power_Return(x0[4]), x2[4])≥COND_1619_1_SIN_INVOKEMETHOD(&&(>(x2[4], 1), >(x0[4], 0)), 1113_0_power_Return(x0[4]), x2[4])∧(UIncreasing(COND_1619_1_SIN_INVOKEMETHOD(&&(>(x2[4], 1), >(x0[4], 0)), 1113_0_power_Return(x0[4]), x2[4])), ≥))
(27) (x2[4] + [-2] ≥ 0∧x0[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1619_1_SIN_INVOKEMETHOD(&&(>(x2[4], 1), >(x0[4], 0)), 1113_0_power_Return(x0[4]), x2[4])), ≥)∧[(-1)Bound*bni_43] + [(2)bni_43]x2[4] ≥ 0∧[(-1)bso_44] ≥ 0)
(28) (x2[4] + [-2] ≥ 0∧x0[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1619_1_SIN_INVOKEMETHOD(&&(>(x2[4], 1), >(x0[4], 0)), 1113_0_power_Return(x0[4]), x2[4])), ≥)∧[(-1)Bound*bni_43] + [(2)bni_43]x2[4] ≥ 0∧[(-1)bso_44] ≥ 0)
(29) (x2[4] + [-2] ≥ 0∧x0[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1619_1_SIN_INVOKEMETHOD(&&(>(x2[4], 1), >(x0[4], 0)), 1113_0_power_Return(x0[4]), x2[4])), ≥)∧[(-1)Bound*bni_43] + [(2)bni_43]x2[4] ≥ 0∧[(-1)bso_44] ≥ 0)
(30) (x2[4] ≥ 0∧x0[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1619_1_SIN_INVOKEMETHOD(&&(>(x2[4], 1), >(x0[4], 0)), 1113_0_power_Return(x0[4]), x2[4])), ≥)∧[(-1)Bound*bni_43 + (4)bni_43] + [(2)bni_43]x2[4] ≥ 0∧[(-1)bso_44] ≥ 0)
(31) (x2[4] ≥ 0∧x0[4] ≥ 0 ⇒ (UIncreasing(COND_1619_1_SIN_INVOKEMETHOD(&&(>(x2[4], 1), >(x0[4], 0)), 1113_0_power_Return(x0[4]), x2[4])), ≥)∧[(-1)Bound*bni_43 + (4)bni_43] + [(2)bni_43]x2[4] ≥ 0∧[(-1)bso_44] ≥ 0)
(32) (COND_1619_1_SIN_INVOKEMETHOD(TRUE, 1113_0_power_Return(x0[5]), x2[5])≥NonInfC∧COND_1619_1_SIN_INVOKEMETHOD(TRUE, 1113_0_power_Return(x0[5]), x2[5])≥1336_1_SIN_INVOKEMETHOD(1336_0_power_Load(-(x2[5], 1)), -(x2[5], 1))∧(UIncreasing(1336_1_SIN_INVOKEMETHOD(1336_0_power_Load(-(x2[5], 1)), -(x2[5], 1))), ≥))
(33) ((UIncreasing(1336_1_SIN_INVOKEMETHOD(1336_0_power_Load(-(x2[5], 1)), -(x2[5], 1))), ≥)∧[bni_45] = 0∧[(-1)bso_46] ≥ 0)
(34) ((UIncreasing(1336_1_SIN_INVOKEMETHOD(1336_0_power_Load(-(x2[5], 1)), -(x2[5], 1))), ≥)∧[bni_45] = 0∧[(-1)bso_46] ≥ 0)
(35) ((UIncreasing(1336_1_SIN_INVOKEMETHOD(1336_0_power_Load(-(x2[5], 1)), -(x2[5], 1))), ≥)∧[bni_45] = 0∧[(-1)bso_46] ≥ 0)
(36) ((UIncreasing(1336_1_SIN_INVOKEMETHOD(1336_0_power_Load(-(x2[5], 1)), -(x2[5], 1))), ≥)∧[bni_45] = 0∧0 = 0∧0 = 0∧[(-1)bso_46] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(1336_0_power_Load(x1)) = [-1] + [-1]x1
POL(757_0_power_GT(x1)) = [1] + x1
POL(1501_0_power_Load(x1)) = [-1] + [-1]x1
POL(1619_0_fact_Load(x1)) = [-1] + x1
POL(1175_0_fact_GT(x1)) = [1] + [-1]x1
POL(0) = 0
POL(797_0_power_Return(x1)) = x1
POL(Cond_757_0_power_GT(x1, x2, x3)) = [-1] + [-1]x2
POL(>(x1, x2)) = [-1]
POL(864_1_power_InvokeMethod(x1)) = [1] + [-1]x1
POL(1113_0_power_Return(x1)) = x1
POL(*(x1, x2)) = x1·x2
POL(1204_0_fact_Return) = [-1]
POL(Cond_1175_0_fact_GT(x1, x2, x3)) = [1] + x2
POL(1252_1_fact_InvokeMethod(x1, x2)) = [2] + x1 + x2
POL(Cond_1252_1_fact_InvokeMethod(x1, x2, x3)) = x3
POL(Cond_1252_1_fact_InvokeMethod1(x1, x2, x3)) = [-1] + x3 + x2
POL(&&(x1, x2)) = [-1]
POL(1731_1_sin_InvokeMethod(x1, x2)) = [-1] + [-1]x1
POL(1842_0_sin_Return(x1)) = x1
POL(+(x1, x2)) = x1 + x2
POL(1336_1_SIN_INVOKEMETHOD(x1, x2)) = [2] + [2]x2
POL(COND_1336_1_SIN_INVOKEMETHOD(x1, x2, x3)) = [1] + [2]x3
POL(<(x1, x2)) = [-1]
POL(2) = [2]
POL(1501_1_SIN_INVOKEMETHOD(x1, x2)) = [1] + [2]x2
POL(1) = [1]
POL(COND_1501_1_SIN_INVOKEMETHOD(x1, x2, x3)) = [1] + [2]x3
POL(1619_1_SIN_INVOKEMETHOD(x1, x2)) = [2]x2
POL(COND_1619_1_SIN_INVOKEMETHOD(x1, x2, x3)) = [2]x3
POL(-(x1, x2)) = x1 + [-1]x2
1336_1_SIN_INVOKEMETHOD(1113_0_power_Return(x0[0]), x2[0]) → COND_1336_1_SIN_INVOKEMETHOD(&&(>(x2[0], 0), <(0, *(2, x2[0]))), 1113_0_power_Return(x0[0]), x2[0])
COND_1501_1_SIN_INVOKEMETHOD(TRUE, 1113_0_power_Return(x0[3]), x2[3]) → 1619_1_SIN_INVOKEMETHOD(1619_0_fact_Load(+(*(2, x2[3]), 1)), x2[3])
1336_1_SIN_INVOKEMETHOD(1113_0_power_Return(x0[0]), x2[0]) → COND_1336_1_SIN_INVOKEMETHOD(&&(>(x2[0], 0), <(0, *(2, x2[0]))), 1113_0_power_Return(x0[0]), x2[0])
1501_1_SIN_INVOKEMETHOD(1113_0_power_Return(x0[2]), x2[2]) → COND_1501_1_SIN_INVOKEMETHOD(&&(>(x2[2], 0), <(0, *(2, x2[2]))), 1113_0_power_Return(x0[2]), x2[2])
1619_1_SIN_INVOKEMETHOD(1113_0_power_Return(x0[4]), x2[4]) → COND_1619_1_SIN_INVOKEMETHOD(&&(>(x2[4], 1), >(x0[4], 0)), 1113_0_power_Return(x0[4]), x2[4])
COND_1336_1_SIN_INVOKEMETHOD(TRUE, 1113_0_power_Return(x0[1]), x2[1]) → 1501_1_SIN_INVOKEMETHOD(1501_0_power_Load(+(*(2, x2[1]), 1)), x2[1])
1501_1_SIN_INVOKEMETHOD(1113_0_power_Return(x0[2]), x2[2]) → COND_1501_1_SIN_INVOKEMETHOD(&&(>(x2[2], 0), <(0, *(2, x2[2]))), 1113_0_power_Return(x0[2]), x2[2])
1619_1_SIN_INVOKEMETHOD(1113_0_power_Return(x0[4]), x2[4]) → COND_1619_1_SIN_INVOKEMETHOD(&&(>(x2[4], 1), >(x0[4], 0)), 1113_0_power_Return(x0[4]), x2[4])
COND_1619_1_SIN_INVOKEMETHOD(TRUE, 1113_0_power_Return(x0[5]), x2[5]) → 1336_1_SIN_INVOKEMETHOD(1336_0_power_Load(-(x2[5], 1)), -(x2[5], 1))
1175_0_fact_GT(0)1 → 1204_0_fact_Return1
1252_1_fact_InvokeMethod(1113_0_power_Return(x0), x1)1 → Cond_1252_1_fact_InvokeMethod1(&&(>(x1, 0), >(x0, 0)), 1113_0_power_Return(x0), x1)1
1113_0_power_Return(arith[1])1 → Cond_1252_1_fact_InvokeMethod(TRUE, 1204_0_fact_Return, arith[1])1
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(1) -> (2), if (1501_0_power_Load(2 * x2[1] + 1) →* 1113_0_power_Return(x0[2])∧x2[1] →* x2[2])
(4) -> (5), if (x2[4] > 1 && x0[4] > 0 ∧1113_0_power_Return(x0[4]) →* 1113_0_power_Return(x0[5])∧x2[4] →* x2[5])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
Generated 87 rules for P and 178 rules for R.
P rules:
1657_0_main_Load(EOS(STATIC_1657), java.lang.Object(ARRAY(i8)), i339, i339) → 1662_0_main_ArrayLength(EOS(STATIC_1662), java.lang.Object(ARRAY(i8)), i339, i339, java.lang.Object(ARRAY(i8)))
1662_0_main_ArrayLength(EOS(STATIC_1662), java.lang.Object(ARRAY(i8)), i339, i339, java.lang.Object(ARRAY(i8))) → 1670_0_main_GE(EOS(STATIC_1670), java.lang.Object(ARRAY(i8)), i339, i339, i8) | >=(i8, 0)
1670_0_main_GE(EOS(STATIC_1670), java.lang.Object(ARRAY(i8)), i339, i339, i8) → 1681_0_main_GE(EOS(STATIC_1681), java.lang.Object(ARRAY(i8)), i339, i339, i8)
1681_0_main_GE(EOS(STATIC_1681), java.lang.Object(ARRAY(i8)), i339, i339, i8) → 1690_0_main_Load(EOS(STATIC_1690), java.lang.Object(ARRAY(i8)), i339) | <(i339, i8)
1690_0_main_Load(EOS(STATIC_1690), java.lang.Object(ARRAY(i8)), i339) → 1696_0_main_ConstantStackPush(EOS(STATIC_1696), java.lang.Object(ARRAY(i8)), i339, i339)
1696_0_main_ConstantStackPush(EOS(STATIC_1696), java.lang.Object(ARRAY(i8)), i339, i339) → 1704_0_main_IntArithmetic(EOS(STATIC_1704), java.lang.Object(ARRAY(i8)), i339, i339, 2)
1704_0_main_IntArithmetic(EOS(STATIC_1704), java.lang.Object(ARRAY(i8)), i339, i339, matching1) → 1711_0_main_NE(EOS(STATIC_1711), java.lang.Object(ARRAY(i8)), i339, %(i339, 2)) | =(matching1, 2)
1711_0_main_NE(EOS(STATIC_1711), java.lang.Object(ARRAY(i8)), i339, matching1) → 1717_0_main_NE(EOS(STATIC_1717), java.lang.Object(ARRAY(i8)), i339, 1) | =(matching1, 1)
1711_0_main_NE(EOS(STATIC_1711), java.lang.Object(ARRAY(i8)), i339, matching1) → 1718_0_main_NE(EOS(STATIC_1718), java.lang.Object(ARRAY(i8)), i339, 0) | =(matching1, 0)
1717_0_main_NE(EOS(STATIC_1717), java.lang.Object(ARRAY(i8)), i339, matching1) → 1725_0_main_Load(EOS(STATIC_1725), java.lang.Object(ARRAY(i8)), i339) | &&(>(1, 0), =(matching1, 1))
1725_0_main_Load(EOS(STATIC_1725), java.lang.Object(ARRAY(i8)), i339) → 1732_0_main_ConstantStackPush(EOS(STATIC_1732), java.lang.Object(ARRAY(i8)), i339, i339)
1732_0_main_ConstantStackPush(EOS(STATIC_1732), java.lang.Object(ARRAY(i8)), i339, i339) → 1741_0_main_IntArithmetic(EOS(STATIC_1741), java.lang.Object(ARRAY(i8)), i339, i339, 3)
1741_0_main_IntArithmetic(EOS(STATIC_1741), java.lang.Object(ARRAY(i8)), i339, i339, matching1) → 1748_0_main_NE(EOS(STATIC_1748), java.lang.Object(ARRAY(i8)), i339, %(i339, 3)) | =(matching1, 3)
1748_0_main_NE(EOS(STATIC_1748), java.lang.Object(ARRAY(i8)), i339, i379) → 1758_0_main_NE(EOS(STATIC_1758), java.lang.Object(ARRAY(i8)), i339, i379)
1748_0_main_NE(EOS(STATIC_1748), java.lang.Object(ARRAY(i8)), i339, matching1) → 1759_0_main_NE(EOS(STATIC_1759), java.lang.Object(ARRAY(i8)), i339, 0) | =(matching1, 0)
1758_0_main_NE(EOS(STATIC_1758), java.lang.Object(ARRAY(i8)), i339, i379) → 1768_0_main_Load(EOS(STATIC_1768), java.lang.Object(ARRAY(i8)), i339) | >(i379, 0)
1768_0_main_Load(EOS(STATIC_1768), java.lang.Object(ARRAY(i8)), i339) → 1777_0_main_ConstantStackPush(EOS(STATIC_1777), java.lang.Object(ARRAY(i8)), i339, i339)
1777_0_main_ConstantStackPush(EOS(STATIC_1777), java.lang.Object(ARRAY(i8)), i339, i339) → 1786_0_main_IntArithmetic(EOS(STATIC_1786), java.lang.Object(ARRAY(i8)), i339, i339, 5)
1786_0_main_IntArithmetic(EOS(STATIC_1786), java.lang.Object(ARRAY(i8)), i339, i339, matching1) → 1799_0_main_NE(EOS(STATIC_1799), java.lang.Object(ARRAY(i8)), i339, %(i339, 5)) | =(matching1, 5)
1799_0_main_NE(EOS(STATIC_1799), java.lang.Object(ARRAY(i8)), i339, i403) → 1812_0_main_NE(EOS(STATIC_1812), java.lang.Object(ARRAY(i8)), i339, i403)
1799_0_main_NE(EOS(STATIC_1799), java.lang.Object(ARRAY(i8)), i339, matching1) → 1814_0_main_NE(EOS(STATIC_1814), java.lang.Object(ARRAY(i8)), i339, 0) | =(matching1, 0)
1812_0_main_NE(EOS(STATIC_1812), java.lang.Object(ARRAY(i8)), i339, i403) → 1823_0_main_ConstantStackPush(EOS(STATIC_1823), java.lang.Object(ARRAY(i8)), i339) | >(i403, 0)
1823_0_main_ConstantStackPush(EOS(STATIC_1823), java.lang.Object(ARRAY(i8)), i339) → 1835_0_main_Store(EOS(STATIC_1835), java.lang.Object(ARRAY(i8)), i339, 0)
1835_0_main_Store(EOS(STATIC_1835), java.lang.Object(ARRAY(i8)), i339, matching1) → 1846_0_main_Load(EOS(STATIC_1846), java.lang.Object(ARRAY(i8)), i339, 0) | =(matching1, 0)
1846_0_main_Load(EOS(STATIC_1846), java.lang.Object(ARRAY(i8)), i339, matching1) → 1912_0_main_Load(EOS(STATIC_1912), java.lang.Object(ARRAY(i8)), i339, 0) | =(matching1, 0)
1912_0_main_Load(EOS(STATIC_1912), java.lang.Object(ARRAY(i8)), i339, i448) → 1962_0_main_Load(EOS(STATIC_1962), java.lang.Object(ARRAY(i8)), i339, i448)
1962_0_main_Load(EOS(STATIC_1962), java.lang.Object(ARRAY(i8)), i339, i474) → 1984_0_main_Load(EOS(STATIC_1984), java.lang.Object(ARRAY(i8)), i339, i474)
1984_0_main_Load(EOS(STATIC_1984), java.lang.Object(ARRAY(i8)), i339, i483) → 1996_0_main_Load(EOS(STATIC_1996), java.lang.Object(ARRAY(i8)), i339, i483)
1996_0_main_Load(EOS(STATIC_1996), java.lang.Object(ARRAY(i8)), i339, i486) → 1998_0_main_ConstantStackPush(EOS(STATIC_1998), java.lang.Object(ARRAY(i8)), i339, i486, i486)
1998_0_main_ConstantStackPush(EOS(STATIC_1998), java.lang.Object(ARRAY(i8)), i339, i486, i486) → 2000_0_main_GE(EOS(STATIC_2000), java.lang.Object(ARRAY(i8)), i339, i486, i486, 100)
2000_0_main_GE(EOS(STATIC_2000), java.lang.Object(ARRAY(i8)), i339, i489, i489, matching1) → 2002_0_main_GE(EOS(STATIC_2002), java.lang.Object(ARRAY(i8)), i339, i489, i489, 100) | =(matching1, 100)
2000_0_main_GE(EOS(STATIC_2000), java.lang.Object(ARRAY(i8)), i339, matching1, matching2, matching3) → 2003_0_main_GE(EOS(STATIC_2003), java.lang.Object(ARRAY(i8)), i339, 100, 100, 100) | &&(&&(=(matching1, 100), =(matching2, 100)), =(matching3, 100))
2002_0_main_GE(EOS(STATIC_2002), java.lang.Object(ARRAY(i8)), i339, i489, i489, matching1) → 2004_0_main_Inc(EOS(STATIC_2004), java.lang.Object(ARRAY(i8)), i339, i489) | &&(<(i489, 100), =(matching1, 100))
2004_0_main_Inc(EOS(STATIC_2004), java.lang.Object(ARRAY(i8)), i339, i489) → 2010_0_main_JMP(EOS(STATIC_2010), java.lang.Object(ARRAY(i8)), i339, +(i489, 1)) | >=(i489, 0)
2010_0_main_JMP(EOS(STATIC_2010), java.lang.Object(ARRAY(i8)), i339, i494) → 2014_0_main_Load(EOS(STATIC_2014), java.lang.Object(ARRAY(i8)), i339, i494)
2014_0_main_Load(EOS(STATIC_2014), java.lang.Object(ARRAY(i8)), i339, i494) → 1996_0_main_Load(EOS(STATIC_1996), java.lang.Object(ARRAY(i8)), i339, i494)
2003_0_main_GE(EOS(STATIC_2003), java.lang.Object(ARRAY(i8)), i339, matching1, matching2, matching3) → 2008_0_main_Inc(EOS(STATIC_2008), java.lang.Object(ARRAY(i8)), i339) | &&(&&(=(matching1, 100), =(matching2, 100)), =(matching3, 100))
2008_0_main_Inc(EOS(STATIC_2008), java.lang.Object(ARRAY(i8)), i339) → 2012_0_main_JMP(EOS(STATIC_2012), java.lang.Object(ARRAY(i8)), +(i339, 1)) | >=(i339, 0)
2012_0_main_JMP(EOS(STATIC_2012), java.lang.Object(ARRAY(i8)), i495) → 2017_0_main_Load(EOS(STATIC_2017), java.lang.Object(ARRAY(i8)), i495)
2017_0_main_Load(EOS(STATIC_2017), java.lang.Object(ARRAY(i8)), i495) → 1628_0_main_Load(EOS(STATIC_1628), java.lang.Object(ARRAY(i8)), i495)
1628_0_main_Load(EOS(STATIC_1628), java.lang.Object(ARRAY(i8)), i339) → 1657_0_main_Load(EOS(STATIC_1657), java.lang.Object(ARRAY(i8)), i339, i339)
1814_0_main_NE(EOS(STATIC_1814), java.lang.Object(ARRAY(i8)), i339, matching1) → 1824_0_main_Load(EOS(STATIC_1824), java.lang.Object(ARRAY(i8)), i339) | =(matching1, 0)
1824_0_main_Load(EOS(STATIC_1824), java.lang.Object(ARRAY(i8)), i339) → 1837_0_main_ArrayLength(EOS(STATIC_1837), java.lang.Object(ARRAY(i8)), i339, java.lang.Object(ARRAY(i8)))
1837_0_main_ArrayLength(EOS(STATIC_1837), java.lang.Object(ARRAY(i8)), i339, java.lang.Object(ARRAY(i8))) → 1848_0_main_Load(EOS(STATIC_1848), java.lang.Object(ARRAY(i8)), i339, i8) | >=(i8, 0)
1848_0_main_Load(EOS(STATIC_1848), java.lang.Object(ARRAY(i8)), i339, i8) → 1860_0_main_InvokeMethod(EOS(STATIC_1860), java.lang.Object(ARRAY(i8)), i339, i8, i339)
1860_0_main_InvokeMethod(EOS(STATIC_1860), java.lang.Object(ARRAY(i8)), i339, i8, i339) → 1876_1_main_InvokeMethod(1876_0_exp_Load(EOS(STATIC_1876), i8, i339), java.lang.Object(ARRAY(i8)), i339, i8, i339)
1876_1_main_InvokeMethod(1438_0_exp_Return(EOS(STATIC_1438), i452, matching1), java.lang.Object(ARRAY(i8)), matching2, i452, matching3) → 1924_0_exp_Return(EOS(STATIC_1924), java.lang.Object(ARRAY(i452)), 0, i452, 0, i452, 0) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
1876_1_main_InvokeMethod(1762_0_exp_Return(EOS(STATIC_1762)), java.lang.Object(ARRAY(i8)), i454, i453, i454) → 1926_0_exp_Return(EOS(STATIC_1926), java.lang.Object(ARRAY(i453)), i454, i453, i454)
1924_0_exp_Return(EOS(STATIC_1924), java.lang.Object(ARRAY(i452)), matching1, i452, matching2, i452, matching3) → 1933_0_main_StackPop(EOS(STATIC_1933), java.lang.Object(ARRAY(i452)), 0) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
1933_0_main_StackPop(EOS(STATIC_1933), java.lang.Object(ARRAY(i452)), matching1) → 1941_0_main_JMP(EOS(STATIC_1941), java.lang.Object(ARRAY(i452)), 0) | =(matching1, 0)
1941_0_main_JMP(EOS(STATIC_1941), java.lang.Object(ARRAY(i452)), matching1) → 1951_0_main_Inc(EOS(STATIC_1951), java.lang.Object(ARRAY(i452)), 0) | =(matching1, 0)
1951_0_main_Inc(EOS(STATIC_1951), java.lang.Object(ARRAY(i452)), matching1) → 2008_0_main_Inc(EOS(STATIC_2008), java.lang.Object(ARRAY(i452)), 0) | =(matching1, 0)
1926_0_exp_Return(EOS(STATIC_1926), java.lang.Object(ARRAY(i453)), i454, i453, i454) → 1935_0_main_StackPop(EOS(STATIC_1935), java.lang.Object(ARRAY(i453)), i454)
1935_0_main_StackPop(EOS(STATIC_1935), java.lang.Object(ARRAY(i453)), i454) → 1943_0_main_JMP(EOS(STATIC_1943), java.lang.Object(ARRAY(i453)), i454)
1943_0_main_JMP(EOS(STATIC_1943), java.lang.Object(ARRAY(i453)), i454) → 1955_0_main_Inc(EOS(STATIC_1955), java.lang.Object(ARRAY(i453)), i454)
1955_0_main_Inc(EOS(STATIC_1955), java.lang.Object(ARRAY(i453)), i454) → 2008_0_main_Inc(EOS(STATIC_2008), java.lang.Object(ARRAY(i453)), i454)
1759_0_main_NE(EOS(STATIC_1759), java.lang.Object(ARRAY(i8)), i339, matching1) → 1770_0_main_Load(EOS(STATIC_1770), java.lang.Object(ARRAY(i8)), i339) | =(matching1, 0)
1770_0_main_Load(EOS(STATIC_1770), java.lang.Object(ARRAY(i8)), i339) → 1779_0_main_ArrayLength(EOS(STATIC_1779), java.lang.Object(ARRAY(i8)), i339, java.lang.Object(ARRAY(i8)))
1779_0_main_ArrayLength(EOS(STATIC_1779), java.lang.Object(ARRAY(i8)), i339, java.lang.Object(ARRAY(i8))) → 1788_0_main_Load(EOS(STATIC_1788), java.lang.Object(ARRAY(i8)), i339, i8) | >=(i8, 0)
1788_0_main_Load(EOS(STATIC_1788), java.lang.Object(ARRAY(i8)), i339, i8) → 1801_0_main_InvokeMethod(EOS(STATIC_1801), java.lang.Object(ARRAY(i8)), i339, i8, i339)
1801_0_main_InvokeMethod(EOS(STATIC_1801), java.lang.Object(ARRAY(i8)), i339, i8, i339) → 1815_1_main_InvokeMethod(1815_0_cos_Load(EOS(STATIC_1815), i8, i339), java.lang.Object(ARRAY(i8)), i339, i8, i339)
1815_1_main_InvokeMethod(1370_0_cos_Return(EOS(STATIC_1370), i416, matching1), java.lang.Object(ARRAY(i8)), matching2, i416, matching3) → 1862_0_cos_Return(EOS(STATIC_1862), java.lang.Object(ARRAY(i416)), 0, i416, 0, i416, 0) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
1815_1_main_InvokeMethod(1854_0_cos_Return(EOS(STATIC_1854)), java.lang.Object(ARRAY(i8)), i433, i432, i433) → 1899_0_cos_Return(EOS(STATIC_1899), java.lang.Object(ARRAY(i432)), i433, i432, i433)
1862_0_cos_Return(EOS(STATIC_1862), java.lang.Object(ARRAY(i416)), matching1, i416, matching2, i416, matching3) → 1878_0_main_StackPop(EOS(STATIC_1878), java.lang.Object(ARRAY(i416)), 0) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
1878_0_main_StackPop(EOS(STATIC_1878), java.lang.Object(ARRAY(i416)), matching1) → 1895_0_main_JMP(EOS(STATIC_1895), java.lang.Object(ARRAY(i416)), 0) | =(matching1, 0)
1895_0_main_JMP(EOS(STATIC_1895), java.lang.Object(ARRAY(i416)), matching1) → 1903_0_main_Inc(EOS(STATIC_1903), java.lang.Object(ARRAY(i416)), 0) | =(matching1, 0)
1903_0_main_Inc(EOS(STATIC_1903), java.lang.Object(ARRAY(i416)), matching1) → 1951_0_main_Inc(EOS(STATIC_1951), java.lang.Object(ARRAY(i416)), 0) | =(matching1, 0)
1899_0_cos_Return(EOS(STATIC_1899), java.lang.Object(ARRAY(i432)), i433, i432, i433) → 1906_0_main_StackPop(EOS(STATIC_1906), java.lang.Object(ARRAY(i432)), i433)
1906_0_main_StackPop(EOS(STATIC_1906), java.lang.Object(ARRAY(i432)), i433) → 1922_0_main_JMP(EOS(STATIC_1922), java.lang.Object(ARRAY(i432)), i433)
1922_0_main_JMP(EOS(STATIC_1922), java.lang.Object(ARRAY(i432)), i433) → 1930_0_main_Inc(EOS(STATIC_1930), java.lang.Object(ARRAY(i432)), i433)
1930_0_main_Inc(EOS(STATIC_1930), java.lang.Object(ARRAY(i432)), i433) → 1955_0_main_Inc(EOS(STATIC_1955), java.lang.Object(ARRAY(i432)), i433)
1718_0_main_NE(EOS(STATIC_1718), java.lang.Object(ARRAY(i8)), i339, matching1) → 1726_0_main_Load(EOS(STATIC_1726), java.lang.Object(ARRAY(i8)), i339) | =(matching1, 0)
1726_0_main_Load(EOS(STATIC_1726), java.lang.Object(ARRAY(i8)), i339) → 1734_0_main_ArrayLength(EOS(STATIC_1734), java.lang.Object(ARRAY(i8)), i339, java.lang.Object(ARRAY(i8)))
1734_0_main_ArrayLength(EOS(STATIC_1734), java.lang.Object(ARRAY(i8)), i339, java.lang.Object(ARRAY(i8))) → 1743_0_main_Load(EOS(STATIC_1743), java.lang.Object(ARRAY(i8)), i339, i8) | >=(i8, 0)
1743_0_main_Load(EOS(STATIC_1743), java.lang.Object(ARRAY(i8)), i339, i8) → 1749_0_main_InvokeMethod(EOS(STATIC_1749), java.lang.Object(ARRAY(i8)), i339, i8, i339)
1749_0_main_InvokeMethod(EOS(STATIC_1749), java.lang.Object(ARRAY(i8)), i339, i8, i339) → 1760_1_main_InvokeMethod(1760_0_sin_Load(EOS(STATIC_1760), i8, i339), java.lang.Object(ARRAY(i8)), i339, i8, i339)
1760_1_main_InvokeMethod(1308_0_sin_Return(EOS(STATIC_1308), i391, matching1, i391), java.lang.Object(ARRAY(i8)), matching2, i391, matching3) → 1802_0_sin_Return(EOS(STATIC_1802), java.lang.Object(ARRAY(i391)), 0, i391, 0, i391, 0, i391) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
1760_1_main_InvokeMethod(1842_0_sin_Return(EOS(STATIC_1842), i412), java.lang.Object(ARRAY(i8)), i425, i424, i425) → 1888_0_sin_Return(EOS(STATIC_1888), java.lang.Object(ARRAY(i424)), i425, i424, i425, i412)
1802_0_sin_Return(EOS(STATIC_1802), java.lang.Object(ARRAY(i391)), matching1, i391, matching2, i391, matching3, i391) → 1817_0_main_StackPop(EOS(STATIC_1817), java.lang.Object(ARRAY(i391)), 0, i391) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
1817_0_main_StackPop(EOS(STATIC_1817), java.lang.Object(ARRAY(i391)), matching1, i391) → 1828_0_main_JMP(EOS(STATIC_1828), java.lang.Object(ARRAY(i391)), 0) | =(matching1, 0)
1828_0_main_JMP(EOS(STATIC_1828), java.lang.Object(ARRAY(i391)), matching1) → 1838_0_main_Inc(EOS(STATIC_1838), java.lang.Object(ARRAY(i391)), 0) | =(matching1, 0)
1838_0_main_Inc(EOS(STATIC_1838), java.lang.Object(ARRAY(i391)), matching1) → 1903_0_main_Inc(EOS(STATIC_1903), java.lang.Object(ARRAY(i391)), 0) | =(matching1, 0)
1888_0_sin_Return(EOS(STATIC_1888), java.lang.Object(ARRAY(i424)), i425, i424, i425, i412) → 1821_0_sin_Return(EOS(STATIC_1821), java.lang.Object(ARRAY(i424)), i425, i424, i425, i412)
1821_0_sin_Return(EOS(STATIC_1821), java.lang.Object(ARRAY(i401)), i402, i401, i402, i388) → 1834_0_main_StackPop(EOS(STATIC_1834), java.lang.Object(ARRAY(i401)), i402, i388)
1834_0_main_StackPop(EOS(STATIC_1834), java.lang.Object(ARRAY(i401)), i402, i388) → 1845_0_main_JMP(EOS(STATIC_1845), java.lang.Object(ARRAY(i401)), i402)
1845_0_main_JMP(EOS(STATIC_1845), java.lang.Object(ARRAY(i401)), i402) → 1857_0_main_Inc(EOS(STATIC_1857), java.lang.Object(ARRAY(i401)), i402)
1857_0_main_Inc(EOS(STATIC_1857), java.lang.Object(ARRAY(i401)), i402) → 1930_0_main_Inc(EOS(STATIC_1930), java.lang.Object(ARRAY(i401)), i402)
R rules:
1876_0_exp_Load(EOS(STATIC_1876), i8, i339) → 1894_0_exp_Load(EOS(STATIC_1894), i8, i339)
1894_0_exp_Load(EOS(STATIC_1894), i8, i339) → 1388_0_exp_Load(EOS(STATIC_1388), i8, i339)
1815_0_cos_Load(EOS(STATIC_1815), i8, i339) → 1826_0_cos_Load(EOS(STATIC_1826), i8, i339)
1826_0_cos_Load(EOS(STATIC_1826), i8, i339) → 1320_0_cos_Load(EOS(STATIC_1320), i8, i339)
1760_0_sin_Load(EOS(STATIC_1760), i8, i339) → 1771_0_sin_Load(EOS(STATIC_1771), i8, i339)
1771_0_sin_Load(EOS(STATIC_1771), i8, i339) → 1268_0_sin_Load(EOS(STATIC_1268), i8, i339)
1486_0_power_Load(EOS(STATIC_1486), i8, i264) → 741_0_power_Load(EOS(STATIC_741), i8, i264)
1559_0_fact_Load(EOS(STATIC_1559), i299) → 1167_0_fact_Load(EOS(STATIC_1167), i299)
1683_0_exp_Load(EOS(STATIC_1683), i298) → 1388_0_exp_Load(EOS(STATIC_1388), i298, i350)
1416_0_power_Load(EOS(STATIC_1416), i249) → 741_0_power_Load(EOS(STATIC_741), -1, i249)
1548_0_power_Load(EOS(STATIC_1548), i8) → 741_0_power_Load(EOS(STATIC_741), i8, i305)
1661_0_fact_Load(EOS(STATIC_1661)) → 1167_0_fact_Load(EOS(STATIC_1167), i337)
1746_0_cos_Load(EOS(STATIC_1746), i320) → 1320_0_cos_Load(EOS(STATIC_1320), i320, i363)
1352_0_power_Load(EOS(STATIC_1352), i240) → 741_0_power_Load(EOS(STATIC_741), -1, i240)
1513_0_power_Load(EOS(STATIC_1513), i233) → 741_0_power_Load(EOS(STATIC_741), i233, i290)
1635_0_fact_Load(EOS(STATIC_1635)) → 1167_0_fact_Load(EOS(STATIC_1167), i334)
1740_0_sin_Load(EOS(STATIC_1740), i311) → 1268_0_sin_Load(EOS(STATIC_1268), i311, i362)
874_0_power_Load(EOS(STATIC_874), i87) → 741_0_power_Load(EOS(STATIC_741), i87, i111)
1261_0_fact_Load(EOS(STATIC_1261)) → 1167_0_fact_Load(EOS(STATIC_1167), i230)
1388_0_exp_Load(EOS(STATIC_1388), i8, i258) → 1400_0_exp_GT(EOS(STATIC_1400), i8, i258, i258)
1400_0_exp_GT(EOS(STATIC_1400), i8, matching1, matching2) → 1412_0_exp_GT(EOS(STATIC_1412), i8, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1400_0_exp_GT(EOS(STATIC_1400), i8, i264, i264) → 1413_0_exp_GT(EOS(STATIC_1413), i8, i264, i264)
1412_0_exp_GT(EOS(STATIC_1412), i8, matching1, matching2) → 1428_0_exp_ConstantStackPush(EOS(STATIC_1428), i8, 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
1413_0_exp_GT(EOS(STATIC_1413), i8, i264, i264) → 1430_0_exp_Load(EOS(STATIC_1430), i8, i264) | >(i264, 0)
1428_0_exp_ConstantStackPush(EOS(STATIC_1428), i8, matching1) → 1438_0_exp_Return(EOS(STATIC_1438), i8, 0) | =(matching1, 0)
1430_0_exp_Load(EOS(STATIC_1430), i8, i264) → 1440_0_exp_Load(EOS(STATIC_1440), i8, i264, i8)
1440_0_exp_Load(EOS(STATIC_1440), i8, i264, i8) → 1458_0_exp_InvokeMethod(EOS(STATIC_1458), i8, i264, i8, i264)
1458_0_exp_InvokeMethod(EOS(STATIC_1458), i8, i264, i8, i264) → 1474_1_exp_InvokeMethod(1474_0_power_Load(EOS(STATIC_1474), i8, i264), i8, i264, i8, i264)
1474_0_power_Load(EOS(STATIC_1474), i8, i264) → 1486_0_power_Load(EOS(STATIC_1486), i8, i264)
1474_1_exp_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113), i186), i298, i299, i298, i299) → 1526_0_power_Return(EOS(STATIC_1526), i298, i299, i298, i299, i186)
1526_0_power_Return(EOS(STATIC_1526), i298, i299, i298, i299, i186) → 1533_0_exp_Load(EOS(STATIC_1533), i298, i299, i186)
1533_0_exp_Load(EOS(STATIC_1533), i298, i299, i186) → 1546_0_exp_InvokeMethod(EOS(STATIC_1546), i298, i299, i186, i299)
1546_0_exp_InvokeMethod(EOS(STATIC_1546), i298, i299, i186, i299) → 1554_1_exp_InvokeMethod(1554_0_fact_Load(EOS(STATIC_1554), i299), i298, i299, i186, i299)
1554_0_fact_Load(EOS(STATIC_1554), i299) → 1559_0_fact_Load(EOS(STATIC_1559), i299)
1554_1_exp_InvokeMethod(1449_0_fact_Return(EOS(STATIC_1449), i279), i298, i326, i186, i326) → 1590_0_fact_Return(EOS(STATIC_1590), i298, i326, i186, i326, i279)
1590_0_fact_Return(EOS(STATIC_1590), i298, i326, i186, i326, i279) → 1598_0_exp_IntArithmetic(EOS(STATIC_1598), i298, i326, i186, i279)
1598_0_exp_IntArithmetic(EOS(STATIC_1598), i298, i326, i186, i279) → 1608_0_exp_Load(EOS(STATIC_1608), i298, i326) | >=(i279, 1)
1608_0_exp_Load(EOS(STATIC_1608), i298, i326) → 1616_0_exp_Load(EOS(STATIC_1616), i326, i298)
1616_0_exp_Load(EOS(STATIC_1616), i326, i298) → 1632_0_exp_ConstantStackPush(EOS(STATIC_1632), i298, i326)
1632_0_exp_ConstantStackPush(EOS(STATIC_1632), i298, i326) → 1659_0_exp_IntArithmetic(EOS(STATIC_1659), i298, i326)
1659_0_exp_IntArithmetic(EOS(STATIC_1659), i298, i326) → 1664_0_exp_InvokeMethod(EOS(STATIC_1664), i298) | >(i326, 0)
1664_0_exp_InvokeMethod(EOS(STATIC_1664), i298) → 1672_1_exp_InvokeMethod(1672_0_exp_Load(EOS(STATIC_1672), i298), i298)
1672_0_exp_Load(EOS(STATIC_1672), i298) → 1683_0_exp_Load(EOS(STATIC_1683), i298)
1672_1_exp_InvokeMethod(1438_0_exp_Return(EOS(STATIC_1438), i358, matching1), i358) → 1706_0_exp_Return(EOS(STATIC_1706), i358, 0, i358, 0) | =(matching1, 0)
1672_1_exp_InvokeMethod(1762_0_exp_Return(EOS(STATIC_1762)), i386) → 1794_0_exp_Return(EOS(STATIC_1794), i386)
1706_0_exp_Return(EOS(STATIC_1706), i358, matching1, i358, matching2) → 1712_0_exp_IntArithmetic(EOS(STATIC_1712)) | &&(=(matching1, 0), =(matching2, 0))
1712_0_exp_IntArithmetic(EOS(STATIC_1712)) → 1752_0_exp_IntArithmetic(EOS(STATIC_1752))
1744_0_exp_Return(EOS(STATIC_1744), i365) → 1752_0_exp_IntArithmetic(EOS(STATIC_1752))
1752_0_exp_IntArithmetic(EOS(STATIC_1752)) → 1762_0_exp_Return(EOS(STATIC_1762))
1794_0_exp_Return(EOS(STATIC_1794), i386) → 1744_0_exp_Return(EOS(STATIC_1744), i386)
1320_0_cos_Load(EOS(STATIC_1320), i8, i243) → 1331_0_cos_GT(EOS(STATIC_1331), i8, i243, i243)
1331_0_cos_GT(EOS(STATIC_1331), i8, matching1, matching2) → 1348_0_cos_GT(EOS(STATIC_1348), i8, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1331_0_cos_GT(EOS(STATIC_1331), i8, i249, i249) → 1349_0_cos_GT(EOS(STATIC_1349), i8, i249, i249)
1348_0_cos_GT(EOS(STATIC_1348), i8, matching1, matching2) → 1359_0_cos_ConstantStackPush(EOS(STATIC_1359), i8, 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
1349_0_cos_GT(EOS(STATIC_1349), i8, i249, i249) → 1361_0_cos_ConstantStackPush(EOS(STATIC_1361), i8, i249) | >(i249, 0)
1359_0_cos_ConstantStackPush(EOS(STATIC_1359), i8, matching1) → 1370_0_cos_Return(EOS(STATIC_1370), i8, 0) | =(matching1, 0)
1361_0_cos_ConstantStackPush(EOS(STATIC_1361), i8, i249) → 1372_0_cos_Load(EOS(STATIC_1372), i8, i249)
1372_0_cos_Load(EOS(STATIC_1372), i8, i249) → 1391_0_cos_InvokeMethod(EOS(STATIC_1391), i8, i249, i249)
1391_0_cos_InvokeMethod(EOS(STATIC_1391), i8, i249, i249) → 1404_1_cos_InvokeMethod(1404_0_power_Load(EOS(STATIC_1404), i249), i8, i249, i249)
1404_0_power_Load(EOS(STATIC_1404), i249) → 1416_0_power_Load(EOS(STATIC_1416), i249)
1404_1_cos_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113), i186), i8, i278, i278) → 1464_0_power_Return(EOS(STATIC_1464), i8, i278, i278, i186)
1464_0_power_Return(EOS(STATIC_1464), i8, i278, i278, i186) → 1477_0_cos_Load(EOS(STATIC_1477), i8, i278, i186)
1477_0_cos_Load(EOS(STATIC_1477), i8, i278, i186) → 1491_0_cos_ConstantStackPush(EOS(STATIC_1491), i8, i278, i186, i8)
1491_0_cos_ConstantStackPush(EOS(STATIC_1491), i8, i278, i186, i8) → 1500_0_cos_Load(EOS(STATIC_1500), i8, i278, i186, i8)
1500_0_cos_Load(EOS(STATIC_1500), i8, i278, i186, i8) → 1511_0_cos_IntArithmetic(EOS(STATIC_1511), i8, i278, i186, i8, i278)
1511_0_cos_IntArithmetic(EOS(STATIC_1511), i8, i278, i186, i8, i278) → 1528_0_cos_InvokeMethod(EOS(STATIC_1528), i8, i278, i186, i8) | >=(i278, 1)
1528_0_cos_InvokeMethod(EOS(STATIC_1528), i8, i278, i186, i8) → 1534_1_cos_InvokeMethod(1534_0_power_Load(EOS(STATIC_1534), i8), i8, i278, i186, i8)
1534_0_power_Load(EOS(STATIC_1534), i8) → 1548_0_power_Load(EOS(STATIC_1548), i8)
1534_1_cos_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113), i319), i320, i278, i186, i320) → 1575_0_power_Return(EOS(STATIC_1575), i320, i278, i186, i320, i319)
1575_0_power_Return(EOS(STATIC_1575), i320, i278, i186, i320, i319) → 1584_0_cos_IntArithmetic(EOS(STATIC_1584), i320, i278, i186, i319)
1584_0_cos_IntArithmetic(EOS(STATIC_1584), i320, i278, i186, i319) → 1591_0_cos_ConstantStackPush(EOS(STATIC_1591), i320, i278)
1591_0_cos_ConstantStackPush(EOS(STATIC_1591), i320, i278) → 1599_0_cos_Load(EOS(STATIC_1599), i320, i278)
1599_0_cos_Load(EOS(STATIC_1599), i320, i278) → 1609_0_cos_IntArithmetic(EOS(STATIC_1609), i320, i278, i278)
1609_0_cos_IntArithmetic(EOS(STATIC_1609), i320, i278, i278) → 1618_0_cos_InvokeMethod(EOS(STATIC_1618), i320, i278) | >=(i278, 1)
1618_0_cos_InvokeMethod(EOS(STATIC_1618), i320, i278) → 1633_1_cos_InvokeMethod(1633_0_fact_Load(EOS(STATIC_1633)), i320, i278)
1633_0_fact_Load(EOS(STATIC_1633)) → 1661_0_fact_Load(EOS(STATIC_1661))
1633_1_cos_InvokeMethod(1449_0_fact_Return(EOS(STATIC_1449), i279), i320, i278) → 1685_0_fact_Return(EOS(STATIC_1685), i320, i278, i279)
1685_0_fact_Return(EOS(STATIC_1685), i320, i278, i279) → 1692_0_cos_IntArithmetic(EOS(STATIC_1692), i320, i278, i279)
1692_0_cos_IntArithmetic(EOS(STATIC_1692), i320, i278, i279) → 1701_0_cos_Load(EOS(STATIC_1701), i320, i278) | >=(i279, 1)
1701_0_cos_Load(EOS(STATIC_1701), i320, i278) → 1707_0_cos_Load(EOS(STATIC_1707), i278, i320)
1707_0_cos_Load(EOS(STATIC_1707), i278, i320) → 1714_0_cos_ConstantStackPush(EOS(STATIC_1714), i320, i278)
1714_0_cos_ConstantStackPush(EOS(STATIC_1714), i320, i278) → 1722_0_cos_IntArithmetic(EOS(STATIC_1722), i320, i278)
1722_0_cos_IntArithmetic(EOS(STATIC_1722), i320, i278) → 1729_0_cos_InvokeMethod(EOS(STATIC_1729), i320) | >(i278, 0)
1729_0_cos_InvokeMethod(EOS(STATIC_1729), i320) → 1738_1_cos_InvokeMethod(1738_0_cos_Load(EOS(STATIC_1738), i320), i320)
1738_0_cos_Load(EOS(STATIC_1738), i320) → 1746_0_cos_Load(EOS(STATIC_1746), i320)
1738_1_cos_InvokeMethod(1370_0_cos_Return(EOS(STATIC_1370), i384, matching1), i384) → 1774_0_cos_Return(EOS(STATIC_1774), i384, 0, i384, 0) | =(matching1, 0)
1738_1_cos_InvokeMethod(1854_0_cos_Return(EOS(STATIC_1854)), i429) → 1897_0_cos_Return(EOS(STATIC_1897), i429)
1774_0_cos_Return(EOS(STATIC_1774), i384, matching1, i384, matching2) → 1783_0_cos_IntArithmetic(EOS(STATIC_1783)) | &&(=(matching1, 0), =(matching2, 0))
1783_0_cos_IntArithmetic(EOS(STATIC_1783)) → 1841_0_cos_IntArithmetic(EOS(STATIC_1841))
1829_0_cos_Return(EOS(STATIC_1829), i405) → 1841_0_cos_IntArithmetic(EOS(STATIC_1841))
1841_0_cos_IntArithmetic(EOS(STATIC_1841)) → 1854_0_cos_Return(EOS(STATIC_1854))
1897_0_cos_Return(EOS(STATIC_1897), i429) → 1829_0_cos_Return(EOS(STATIC_1829), i429)
1268_0_sin_Load(EOS(STATIC_1268), i233, i234) → 1276_0_sin_GT(EOS(STATIC_1276), i233, i234, i234)
1276_0_sin_GT(EOS(STATIC_1276), i233, matching1, matching2) → 1289_0_sin_GT(EOS(STATIC_1289), i233, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1276_0_sin_GT(EOS(STATIC_1276), i233, i240, i240) → 1290_0_sin_GT(EOS(STATIC_1290), i233, i240, i240)
1289_0_sin_GT(EOS(STATIC_1289), i233, matching1, matching2) → 1298_0_sin_Load(EOS(STATIC_1298), i233, 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
1290_0_sin_GT(EOS(STATIC_1290), i233, i240, i240) → 1299_0_sin_ConstantStackPush(EOS(STATIC_1299), i233, i240) | >(i240, 0)
1298_0_sin_Load(EOS(STATIC_1298), i233, matching1) → 1308_0_sin_Return(EOS(STATIC_1308), i233, 0, i233) | =(matching1, 0)
1299_0_sin_ConstantStackPush(EOS(STATIC_1299), i233, i240) → 1310_0_sin_Load(EOS(STATIC_1310), i233, i240)
1310_0_sin_Load(EOS(STATIC_1310), i233, i240) → 1324_0_sin_InvokeMethod(EOS(STATIC_1324), i233, i240, i240)
1324_0_sin_InvokeMethod(EOS(STATIC_1324), i233, i240, i240) → 1336_1_sin_InvokeMethod(1336_0_power_Load(EOS(STATIC_1336), i240), i233, i240, i240)
1336_0_power_Load(EOS(STATIC_1336), i240) → 1352_0_power_Load(EOS(STATIC_1352), i240)
1336_1_sin_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113), i186), i233, i253, i253) → 1395_0_power_Return(EOS(STATIC_1395), i233, i253, i253, i186)
1395_0_power_Return(EOS(STATIC_1395), i233, i253, i253, i186) → 1407_0_sin_Load(EOS(STATIC_1407), i233, i253, i186)
1407_0_sin_Load(EOS(STATIC_1407), i233, i253, i186) → 1420_0_sin_ConstantStackPush(EOS(STATIC_1420), i233, i253, i186, i233)
1420_0_sin_ConstantStackPush(EOS(STATIC_1420), i233, i253, i186, i233) → 1433_0_sin_Load(EOS(STATIC_1433), i233, i253, i186, i233)
1433_0_sin_Load(EOS(STATIC_1433), i233, i253, i186, i233) → 1447_0_sin_IntArithmetic(EOS(STATIC_1447), i233, i253, i186, i233, i253)
1447_0_sin_IntArithmetic(EOS(STATIC_1447), i233, i253, i186, i233, i253) → 1466_0_sin_ConstantStackPush(EOS(STATIC_1466), i233, i253, i186, i233) | >=(i253, 1)
1466_0_sin_ConstantStackPush(EOS(STATIC_1466), i233, i253, i186, i233) → 1478_0_sin_IntArithmetic(EOS(STATIC_1478), i233, i253, i186, i233)
1478_0_sin_IntArithmetic(EOS(STATIC_1478), i233, i253, i186, i233) → 1492_0_sin_InvokeMethod(EOS(STATIC_1492), i233, i253, i186, i233)
1492_0_sin_InvokeMethod(EOS(STATIC_1492), i233, i253, i186, i233) → 1501_1_sin_InvokeMethod(1501_0_power_Load(EOS(STATIC_1501), i233), i233, i253, i186, i233)
1501_0_power_Load(EOS(STATIC_1501), i233) → 1513_0_power_Load(EOS(STATIC_1513), i233)
1501_1_sin_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113), i310), i311, i253, i186, i311) → 1551_0_power_Return(EOS(STATIC_1551), i311, i253, i186, i311, i310)
1551_0_power_Return(EOS(STATIC_1551), i311, i253, i186, i311, i310) → 1556_0_sin_IntArithmetic(EOS(STATIC_1556), i311, i253, i186, i310)
1556_0_sin_IntArithmetic(EOS(STATIC_1556), i311, i253, i186, i310) → 1566_0_sin_ConstantStackPush(EOS(STATIC_1566), i311, i253, *(i186, i310))
1566_0_sin_ConstantStackPush(EOS(STATIC_1566), i311, i253, i322) → 1576_0_sin_Load(EOS(STATIC_1576), i311, i253, i322)
1576_0_sin_Load(EOS(STATIC_1576), i311, i253, i322) → 1585_0_sin_IntArithmetic(EOS(STATIC_1585), i311, i253, i322, i253)
1585_0_sin_IntArithmetic(EOS(STATIC_1585), i311, i253, i322, i253) → 1593_0_sin_ConstantStackPush(EOS(STATIC_1593), i311, i253, i322) | >=(i253, 1)
1593_0_sin_ConstantStackPush(EOS(STATIC_1593), i311, i253, i322) → 1601_0_sin_IntArithmetic(EOS(STATIC_1601), i311, i253, i322)
1601_0_sin_IntArithmetic(EOS(STATIC_1601), i311, i253, i322) → 1611_0_sin_InvokeMethod(EOS(STATIC_1611), i311, i253, i322)
1611_0_sin_InvokeMethod(EOS(STATIC_1611), i311, i253, i322) → 1619_1_sin_InvokeMethod(1619_0_fact_Load(EOS(STATIC_1619)), i311, i253, i322)
1619_0_fact_Load(EOS(STATIC_1619)) → 1635_0_fact_Load(EOS(STATIC_1635))
1619_1_sin_InvokeMethod(1449_0_fact_Return(EOS(STATIC_1449), i279), i311, i253, i322) → 1678_0_fact_Return(EOS(STATIC_1678), i311, i253, i322, i279)
1678_0_fact_Return(EOS(STATIC_1678), i311, i253, i322, i279) → 1687_0_sin_IntArithmetic(EOS(STATIC_1687), i311, i253, i322, i279)
1687_0_sin_IntArithmetic(EOS(STATIC_1687), i311, i253, i322, i279) → 1693_0_sin_Load(EOS(STATIC_1693), i311, i253, /(i322, i279)) | >=(i279, 1)
1693_0_sin_Load(EOS(STATIC_1693), i311, i253, i355) → 1703_0_sin_Load(EOS(STATIC_1703), i253, i355, i311)
1703_0_sin_Load(EOS(STATIC_1703), i253, i355, i311) → 1709_0_sin_ConstantStackPush(EOS(STATIC_1709), i355, i311, i253)
1709_0_sin_ConstantStackPush(EOS(STATIC_1709), i355, i311, i253) → 1715_0_sin_IntArithmetic(EOS(STATIC_1715), i355, i311, i253)
1715_0_sin_IntArithmetic(EOS(STATIC_1715), i355, i311, i253) → 1723_0_sin_InvokeMethod(EOS(STATIC_1723), i355, i311) | >(i253, 0)
1723_0_sin_InvokeMethod(EOS(STATIC_1723), i355, i311) → 1731_1_sin_InvokeMethod(1731_0_sin_Load(EOS(STATIC_1731), i311), i355, i311)
1731_0_sin_Load(EOS(STATIC_1731), i311) → 1740_0_sin_Load(EOS(STATIC_1740), i311)
1731_1_sin_InvokeMethod(1308_0_sin_Return(EOS(STATIC_1308), i376, matching1, i376), i355, i376) → 1766_0_sin_Return(EOS(STATIC_1766), i355, i376, 0, i376, 0, i376) | =(matching1, 0)
1731_1_sin_InvokeMethod(1842_0_sin_Return(EOS(STATIC_1842), i412), i355, i422) → 1885_0_sin_Return(EOS(STATIC_1885), i355, i422, i412)
1766_0_sin_Return(EOS(STATIC_1766), i355, i376, matching1, i376, matching2, i376) → 1775_0_sin_IntArithmetic(EOS(STATIC_1775), i355, i376) | &&(=(matching1, 0), =(matching2, 0))
1775_0_sin_IntArithmetic(EOS(STATIC_1775), i355, i376) → 1831_0_sin_IntArithmetic(EOS(STATIC_1831), i355, i376)
1820_0_sin_Return(EOS(STATIC_1820), i355, i399, i388) → 1831_0_sin_IntArithmetic(EOS(STATIC_1831), i355, i388)
1831_0_sin_IntArithmetic(EOS(STATIC_1831), i355, i388) → 1842_0_sin_Return(EOS(STATIC_1842), +(i355, i388))
1885_0_sin_Return(EOS(STATIC_1885), i355, i422, i412) → 1820_0_sin_Return(EOS(STATIC_1820), i355, i422, i412)
741_0_power_Load(EOS(STATIC_741), i87, i88) → 757_0_power_GT(EOS(STATIC_757), i87, i88, i88)
757_0_power_GT(EOS(STATIC_757), i87, matching1, matching2) → 769_0_power_GT(EOS(STATIC_769), i87, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
757_0_power_GT(EOS(STATIC_757), i87, i96, i96) → 770_0_power_GT(EOS(STATIC_770), i87, i96, i96)
769_0_power_GT(EOS(STATIC_769), i87, matching1, matching2) → 785_0_power_ConstantStackPush(EOS(STATIC_785), i87, 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
770_0_power_GT(EOS(STATIC_770), i87, i96, i96) → 786_0_power_Load(EOS(STATIC_786), i87, i96) | >(i96, 0)
785_0_power_ConstantStackPush(EOS(STATIC_785), i87, matching1) → 797_0_power_Return(EOS(STATIC_797), i87, 0, 1) | =(matching1, 0)
786_0_power_Load(EOS(STATIC_786), i87, i96) → 799_0_power_Load(EOS(STATIC_799), i87, i96, i87)
799_0_power_Load(EOS(STATIC_799), i87, i96, i87) → 812_0_power_Load(EOS(STATIC_812), i96, i87, i87)
812_0_power_Load(EOS(STATIC_812), i96, i87, i87) → 832_0_power_ConstantStackPush(EOS(STATIC_832), i87, i87, i96)
832_0_power_ConstantStackPush(EOS(STATIC_832), i87, i87, i96) → 844_0_power_IntArithmetic(EOS(STATIC_844), i87, i87, i96)
844_0_power_IntArithmetic(EOS(STATIC_844), i87, i87, i96) → 857_0_power_InvokeMethod(EOS(STATIC_857), i87, i87) | >(i96, 0)
857_0_power_InvokeMethod(EOS(STATIC_857), i87, i87) → 864_1_power_InvokeMethod(864_0_power_Load(EOS(STATIC_864), i87), i87, i87)
864_0_power_Load(EOS(STATIC_864), i87) → 874_0_power_Load(EOS(STATIC_874), i87)
864_1_power_InvokeMethod(797_0_power_Return(EOS(STATIC_797), i121, matching1, matching2), i121, i121) → 918_0_power_Return(EOS(STATIC_918), i121, i121, 0, i121, 0, 1) | &&(=(matching1, 0), =(matching2, 1))
864_1_power_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113), i186), i192, i192) → 1159_0_power_Return(EOS(STATIC_1159), i192, i192, i186)
918_0_power_Return(EOS(STATIC_918), i121, i121, matching1, i121, matching2, matching3) → 924_0_power_IntArithmetic(EOS(STATIC_924), i121, 1) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 1))
924_0_power_IntArithmetic(EOS(STATIC_924), i121, matching1) → 1104_0_power_IntArithmetic(EOS(STATIC_1104), i121, 1) | =(matching1, 1)
1094_0_power_Return(EOS(STATIC_1094), i179, i179, i180) → 1104_0_power_IntArithmetic(EOS(STATIC_1104), i179, i180)
1104_0_power_IntArithmetic(EOS(STATIC_1104), i179, i180) → 1113_0_power_Return(EOS(STATIC_1113), *(i179, i180))
1159_0_power_Return(EOS(STATIC_1159), i192, i192, i186) → 1094_0_power_Return(EOS(STATIC_1094), i192, i192, i186)
1167_0_fact_Load(EOS(STATIC_1167), i206) → 1175_0_fact_GT(EOS(STATIC_1175), i206, i206)
1175_0_fact_GT(EOS(STATIC_1175), matching1, matching2) → 1182_0_fact_GT(EOS(STATIC_1182), 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1175_0_fact_GT(EOS(STATIC_1175), i214, i214) → 1183_0_fact_GT(EOS(STATIC_1183), i214, i214)
1182_0_fact_GT(EOS(STATIC_1182), matching1, matching2) → 1195_0_fact_ConstantStackPush(EOS(STATIC_1195), 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
1183_0_fact_GT(EOS(STATIC_1183), i214, i214) → 1197_0_fact_Load(EOS(STATIC_1197), i214) | >(i214, 0)
1195_0_fact_ConstantStackPush(EOS(STATIC_1195), matching1) → 1204_0_fact_Return(EOS(STATIC_1204), 0, 1) | =(matching1, 0)
1197_0_fact_Load(EOS(STATIC_1197), i214) → 1206_0_fact_Load(EOS(STATIC_1206), i214, i214)
1206_0_fact_Load(EOS(STATIC_1206), i214, i214) → 1220_0_fact_ConstantStackPush(EOS(STATIC_1220), i214, i214)
1220_0_fact_ConstantStackPush(EOS(STATIC_1220), i214, i214) → 1231_0_fact_IntArithmetic(EOS(STATIC_1231), i214, i214)
1231_0_fact_IntArithmetic(EOS(STATIC_1231), i214, i214) → 1242_0_fact_InvokeMethod(EOS(STATIC_1242), i214) | >(i214, 0)
1242_0_fact_InvokeMethod(EOS(STATIC_1242), i214) → 1252_1_fact_InvokeMethod(1252_0_fact_Load(EOS(STATIC_1252)), i214)
1252_0_fact_Load(EOS(STATIC_1252)) → 1261_0_fact_Load(EOS(STATIC_1261))
1252_1_fact_InvokeMethod(1204_0_fact_Return(EOS(STATIC_1204), matching1, matching2), i214) → 1292_0_fact_Return(EOS(STATIC_1292), i214, 0, 0, 1) | &&(=(matching1, 0), =(matching2, 1))
1252_1_fact_InvokeMethod(1449_0_fact_Return(EOS(STATIC_1449), i279), i214) → 1494_0_fact_Return(EOS(STATIC_1494), i214, i279)
1292_0_fact_Return(EOS(STATIC_1292), i214, matching1, matching2, matching3) → 1302_0_fact_IntArithmetic(EOS(STATIC_1302), i214, 1) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 1))
1302_0_fact_IntArithmetic(EOS(STATIC_1302), i214, matching1) → 1367_0_fact_IntArithmetic(EOS(STATIC_1367), i214, 1) | =(matching1, 1)
1367_0_fact_IntArithmetic(EOS(STATIC_1367), i214, i248) → 1435_0_fact_IntArithmetic(EOS(STATIC_1435), i214, i248)
1425_0_fact_Return(EOS(STATIC_1425), i214, i268) → 1435_0_fact_IntArithmetic(EOS(STATIC_1435), i214, i268)
1435_0_fact_IntArithmetic(EOS(STATIC_1435), i214, i268) → 1449_0_fact_Return(EOS(STATIC_1449), *(i214, i268)) | &&(>=(i214, 1), >=(i268, 1))
1494_0_fact_Return(EOS(STATIC_1494), i214, i279) → 1425_0_fact_Return(EOS(STATIC_1425), i214, i279)
Combined rules. Obtained 12 conditional rules for P and 31 conditional rules for R.
P rules:
1657_0_main_Load(EOS(STATIC_1657), java.lang.Object(ARRAY(x0)), x1, x1) → 2000_0_main_GE(EOS(STATIC_2000), java.lang.Object(ARRAY(x0)), x1, 0, 0, 100) | &&(&&(&&(&&(<(x1, x0), >(+(x0, 1), 0)), =(1, %(x1, 2))), <(0, %(x1, 5))), <(0, %(x1, 3)))
2000_0_main_GE(EOS(STATIC_2000), java.lang.Object(ARRAY(x0)), x1, x2, x2, 100) → 2000_0_main_GE(EOS(STATIC_2000), java.lang.Object(ARRAY(x0)), x1, +(x2, 1), +(x2, 1), 100) | &&(>(+(x2, 1), 0), <(x2, 100))
2000_0_main_GE(EOS(STATIC_2000), java.lang.Object(ARRAY(x0)), x1, 100, 100, 100) → 1657_0_main_Load(EOS(STATIC_1657), java.lang.Object(ARRAY(x0)), +(x1, 1), +(x1, 1)) | >(+(x1, 1), 0)
1657_0_main_Load(EOS(STATIC_1657), java.lang.Object(ARRAY(x0)), x1, x1) → 1876_1_main_InvokeMethod(1876_0_exp_Load(EOS(STATIC_1876), x0, x1), java.lang.Object(ARRAY(x0)), x1, x0, x1) | &&(&&(&&(&&(<(x1, x0), >(+(x0, 1), 0)), =(1, %(x1, 2))), =(0, %(x1, 5))), <(0, %(x1, 3)))
1876_1_main_InvokeMethod(1438_0_exp_Return(EOS(STATIC_1438), x0, 0), java.lang.Object(ARRAY(x2)), 0, x0, 0) → 1657_0_main_Load(EOS(STATIC_1657), java.lang.Object(ARRAY(x0)), 1, 1)
1876_1_main_InvokeMethod(1762_0_exp_Return(EOS(STATIC_1762)), java.lang.Object(ARRAY(x0)), x1, x2, x1) → 1657_0_main_Load(EOS(STATIC_1657), java.lang.Object(ARRAY(x2)), +(x1, 1), +(x1, 1)) | >(+(x1, 1), 0)
1657_0_main_Load(EOS(STATIC_1657), java.lang.Object(ARRAY(x0)), x1, x1) → 1815_1_main_InvokeMethod(1815_0_cos_Load(EOS(STATIC_1815), x0, x1), java.lang.Object(ARRAY(x0)), x1, x0, x1) | &&(&&(&&(<(x1, x0), >(+(x0, 1), 0)), =(1, %(x1, 2))), =(0, %(x1, 3)))
1815_1_main_InvokeMethod(1370_0_cos_Return(EOS(STATIC_1370), x0, 0), java.lang.Object(ARRAY(x2)), 0, x0, 0) → 1657_0_main_Load(EOS(STATIC_1657), java.lang.Object(ARRAY(x0)), 1, 1)
1815_1_main_InvokeMethod(1854_0_cos_Return(EOS(STATIC_1854)), java.lang.Object(ARRAY(x0)), x1, x2, x1) → 1657_0_main_Load(EOS(STATIC_1657), java.lang.Object(ARRAY(x2)), +(x1, 1), +(x1, 1)) | >(+(x1, 1), 0)
1657_0_main_Load(EOS(STATIC_1657), java.lang.Object(ARRAY(x0)), x1, x1) → 1760_1_main_InvokeMethod(1760_0_sin_Load(EOS(STATIC_1760), x0, x1), java.lang.Object(ARRAY(x0)), x1, x0, x1) | &&(&&(<(x1, x0), >(+(x0, 1), 0)), =(0, %(x1, 2)))
1760_1_main_InvokeMethod(1308_0_sin_Return(EOS(STATIC_1308), x0, 0, x0), java.lang.Object(ARRAY(x2)), 0, x0, 0) → 1657_0_main_Load(EOS(STATIC_1657), java.lang.Object(ARRAY(x0)), 1, 1)
1760_1_main_InvokeMethod(1842_0_sin_Return(EOS(STATIC_1842), x0), java.lang.Object(ARRAY(x1)), x2, x3, x2) → 1657_0_main_Load(EOS(STATIC_1657), java.lang.Object(ARRAY(x3)), +(x2, 1), +(x2, 1)) | >(+(x2, 1), 0)
R rules:
1876_0_exp_Load(EOS(STATIC_1876), x0, x1) → 1400_0_exp_GT(EOS(STATIC_1400), x0, x1, x1)
1815_0_cos_Load(EOS(STATIC_1815), x0, x1) → 1331_0_cos_GT(EOS(STATIC_1331), x0, x1, x1)
1760_0_sin_Load(EOS(STATIC_1760), x0, x1) → 1276_0_sin_GT(EOS(STATIC_1276), x0, x1, x1)
1400_0_exp_GT(EOS(STATIC_1400), x0, 0, 0) → 1438_0_exp_Return(EOS(STATIC_1438), x0, 0)
1400_0_exp_GT(EOS(STATIC_1400), x0, x1, x1) → 1474_1_exp_InvokeMethod(757_0_power_GT(EOS(STATIC_757), x0, x1, x1), x0, x1, x0, x1) | >(x1, 0)
1474_1_exp_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113), x0), x1, x2, x1, x2) → 1554_1_exp_InvokeMethod(1175_0_fact_GT(EOS(STATIC_1175), x2, x2), x1, x2, x0, x2)
1554_1_exp_InvokeMethod(1449_0_fact_Return(EOS(STATIC_1449), x0), x1, x2, x3, x2) → 1672_1_exp_InvokeMethod(1400_0_exp_GT(EOS(STATIC_1400), x1, x4, x4), x1) | &&(>(x2, 0), >(+(x0, 1), 1))
1672_1_exp_InvokeMethod(1438_0_exp_Return(EOS(STATIC_1438), x0, 0), x0) → 1762_0_exp_Return(EOS(STATIC_1762))
1672_1_exp_InvokeMethod(1762_0_exp_Return(EOS(STATIC_1762)), x0) → 1762_0_exp_Return(EOS(STATIC_1762))
1331_0_cos_GT(EOS(STATIC_1331), x0, 0, 0) → 1370_0_cos_Return(EOS(STATIC_1370), x0, 0)
1331_0_cos_GT(EOS(STATIC_1331), x0, x1, x1) → 1404_1_cos_InvokeMethod(757_0_power_GT(EOS(STATIC_757), -1, x1, x1), x0, x1, x1) | >(x1, 0)
1404_1_cos_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113), x0), x1, x2, x2) → 1534_1_cos_InvokeMethod(757_0_power_GT(EOS(STATIC_757), x1, x3, x3), x1, x2, x0, x1) | >(+(x2, 1), 1)
1534_1_cos_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113), x0), x1, x2, x3, x1) → 1633_1_cos_InvokeMethod(1175_0_fact_GT(EOS(STATIC_1175), x4, x4), x1, x2) | >(+(x2, 1), 1)
1633_1_cos_InvokeMethod(1449_0_fact_Return(EOS(STATIC_1449), x0), x1, x2) → 1738_1_cos_InvokeMethod(1331_0_cos_GT(EOS(STATIC_1331), x1, x3, x3), x1) | &&(>(x2, 0), >(+(x0, 1), 1))
1738_1_cos_InvokeMethod(1370_0_cos_Return(EOS(STATIC_1370), x0, 0), x0) → 1854_0_cos_Return(EOS(STATIC_1854))
1738_1_cos_InvokeMethod(1854_0_cos_Return(EOS(STATIC_1854)), x0) → 1854_0_cos_Return(EOS(STATIC_1854))
1276_0_sin_GT(EOS(STATIC_1276), x0, 0, 0) → 1308_0_sin_Return(EOS(STATIC_1308), x0, 0, x0)
1276_0_sin_GT(EOS(STATIC_1276), x0, x1, x1) → 1336_1_sin_InvokeMethod(757_0_power_GT(EOS(STATIC_757), -1, x1, x1), x0, x1, x1) | >(x1, 0)
1336_1_sin_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113), x0), x1, x2, x2) → 1501_1_sin_InvokeMethod(757_0_power_GT(EOS(STATIC_757), x1, x3, x3), x1, x2, x0, x1) | >(+(x2, 1), 1)
1501_1_sin_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113), x0), x1, x2, x3, x1) → 1619_1_sin_InvokeMethod(1175_0_fact_GT(EOS(STATIC_1175), x4, x4), x1, x2, *(x3, x0)) | >(+(x2, 1), 1)
1619_1_sin_InvokeMethod(1449_0_fact_Return(EOS(STATIC_1449), x0), x1, x2, x3) → 1731_1_sin_InvokeMethod(1276_0_sin_GT(EOS(STATIC_1276), x1, x4, x4), /(x3, x0), x1) | &&(>(x2, 0), >(+(x0, 1), 1))
1731_1_sin_InvokeMethod(1308_0_sin_Return(EOS(STATIC_1308), x0, 0, x0), x2, x0) → 1842_0_sin_Return(EOS(STATIC_1842), +(x2, x0))
1731_1_sin_InvokeMethod(1842_0_sin_Return(EOS(STATIC_1842), x0), x1, x2) → 1842_0_sin_Return(EOS(STATIC_1842), +(x1, x0))
757_0_power_GT(EOS(STATIC_757), x0, 0, 0) → 797_0_power_Return(EOS(STATIC_797), x0, 0, 1)
757_0_power_GT(EOS(STATIC_757), x0, x1, x1) → 864_1_power_InvokeMethod(757_0_power_GT(EOS(STATIC_757), x0, x2, x2), x0, x0) | >(x1, 0)
864_1_power_InvokeMethod(797_0_power_Return(EOS(STATIC_797), arith[1], 0, 1), arith[1], arith[1]) → 1113_0_power_Return(EOS(STATIC_1113), arith[1])
864_1_power_InvokeMethod(1113_0_power_Return(EOS(STATIC_1113), x0), x1, x1) → 1113_0_power_Return(EOS(STATIC_1113), *(x1, x0))
1175_0_fact_GT(EOS(STATIC_1175), 0, 0) → 1204_0_fact_Return(EOS(STATIC_1204), 0, 1)
1175_0_fact_GT(EOS(STATIC_1175), x0, x0) → 1252_1_fact_InvokeMethod(1175_0_fact_GT(EOS(STATIC_1175), x1, x1), x0) | >(x0, 0)
1252_1_fact_InvokeMethod(1204_0_fact_Return(EOS(STATIC_1204), 0, 1), arith[1]) → 1449_0_fact_Return(EOS(STATIC_1449), arith[1]) | >(+(arith[1], 1), 1)
1252_1_fact_InvokeMethod(1449_0_fact_Return(EOS(STATIC_1449), x0), x1) → 1449_0_fact_Return(EOS(STATIC_1449), *(x1, x0)) | &&(>(+(x1, 1), 1), >(+(x0, 1), 1))
Filtered ground terms:
1657_0_main_Load(x1, x2, x3, x4) → 1657_0_main_Load(x2, x3, x4)
1842_0_sin_Return(x1, x2) → 1842_0_sin_Return(x2)
1308_0_sin_Return(x1, x2, x3, x4) → 1308_0_sin_Return(x2, x4)
1760_0_sin_Load(x1, x2, x3) → 1760_0_sin_Load(x2, x3)
Cond_1657_0_main_Load3(x1, x2, x3, x4, x5) → Cond_1657_0_main_Load3(x1, x3, x4, x5)
Cond_1815_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1815_1_main_InvokeMethod(x1, x3, x4, x5, x6)
1854_0_cos_Return(x1) → 1854_0_cos_Return
1370_0_cos_Return(x1, x2, x3) → 1370_0_cos_Return(x2)
1815_0_cos_Load(x1, x2, x3) → 1815_0_cos_Load(x2, x3)
Cond_1657_0_main_Load2(x1, x2, x3, x4, x5) → Cond_1657_0_main_Load2(x1, x3, x4, x5)
Cond_1876_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1876_1_main_InvokeMethod(x1, x3, x4, x5, x6)
1762_0_exp_Return(x1) → 1762_0_exp_Return
1438_0_exp_Return(x1, x2, x3) → 1438_0_exp_Return(x2)
1876_0_exp_Load(x1, x2, x3) → 1876_0_exp_Load(x2, x3)
Cond_1657_0_main_Load1(x1, x2, x3, x4, x5) → Cond_1657_0_main_Load1(x1, x3, x4, x5)
Cond_2000_0_main_GE1(x1, x2, x3, x4, x5, x6, x7) → Cond_2000_0_main_GE1(x1, x3, x4)
2000_0_main_GE(x1, x2, x3, x4, x5, x6) → 2000_0_main_GE(x2, x3, x4, x5)
Cond_2000_0_main_GE(x1, x2, x3, x4, x5, x6, x7) → Cond_2000_0_main_GE(x1, x3, x4, x5, x6)
Cond_1657_0_main_Load(x1, x2, x3, x4, x5) → Cond_1657_0_main_Load(x1, x3, x4, x5)
1449_0_fact_Return(x1, x2) → 1449_0_fact_Return(x2)
Cond_1252_1_fact_InvokeMethod(x1, x2, x3) → Cond_1252_1_fact_InvokeMethod(x1, x3)
1204_0_fact_Return(x1, x2, x3) → 1204_0_fact_Return
1175_0_fact_GT(x1, x2, x3) → 1175_0_fact_GT(x2, x3)
Cond_1175_0_fact_GT(x1, x2, x3, x4, x5) → Cond_1175_0_fact_GT(x1, x3, x4, x5)
1113_0_power_Return(x1, x2) → 1113_0_power_Return(x2)
797_0_power_Return(x1, x2, x3, x4) → 797_0_power_Return(x2)
757_0_power_GT(x1, x2, x3, x4) → 757_0_power_GT(x2, x3, x4)
Cond_757_0_power_GT(x1, x2, x3, x4, x5, x6) → Cond_757_0_power_GT(x1, x3, x4, x5, x6)
1276_0_sin_GT(x1, x2, x3, x4) → 1276_0_sin_GT(x2, x3, x4)
Cond_1276_0_sin_GT(x1, x2, x3, x4, x5) → Cond_1276_0_sin_GT(x1, x3, x4, x5)
1331_0_cos_GT(x1, x2, x3, x4) → 1331_0_cos_GT(x2, x3, x4)
Cond_1331_0_cos_GT(x1, x2, x3, x4, x5) → Cond_1331_0_cos_GT(x1, x3, x4, x5)
1400_0_exp_GT(x1, x2, x3, x4) → 1400_0_exp_GT(x2, x3, x4)
Cond_1400_0_exp_GT(x1, x2, x3, x4, x5) → Cond_1400_0_exp_GT(x1, x3, x4, x5)
Filtered duplicate args:
1657_0_main_Load(x1, x2, x3) → 1657_0_main_Load(x1, x3)
Cond_1657_0_main_Load(x1, x2, x3, x4) → Cond_1657_0_main_Load(x1, x2, x4)
2000_0_main_GE(x1, x2, x3, x4) → 2000_0_main_GE(x1, x2, x4)
Cond_2000_0_main_GE(x1, x2, x3, x4, x5) → Cond_2000_0_main_GE(x1, x2, x3, x5)
Cond_1657_0_main_Load1(x1, x2, x3, x4) → Cond_1657_0_main_Load1(x1, x2, x4)
1876_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 1876_1_main_InvokeMethod(x1, x2, x4, x5)
Cond_1876_1_main_InvokeMethod(x1, x2, x3, x4, x5) → Cond_1876_1_main_InvokeMethod(x1, x2, x4, x5)
Cond_1657_0_main_Load2(x1, x2, x3, x4) → Cond_1657_0_main_Load2(x1, x2, x4)
1815_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 1815_1_main_InvokeMethod(x1, x2, x4, x5)
Cond_1815_1_main_InvokeMethod(x1, x2, x3, x4, x5) → Cond_1815_1_main_InvokeMethod(x1, x2, x4, x5)
Cond_1657_0_main_Load3(x1, x2, x3, x4) → Cond_1657_0_main_Load3(x1, x2, x4)
1760_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 1760_1_main_InvokeMethod(x1, x2, x4, x5)
1308_0_sin_Return(x1, x2) → 1308_0_sin_Return(x2)
Cond_1760_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1760_1_main_InvokeMethod(x1, x2, x3, x5, x6)
1400_0_exp_GT(x1, x2, x3) → 1400_0_exp_GT(x1, x3)
1331_0_cos_GT(x1, x2, x3) → 1331_0_cos_GT(x1, x3)
1276_0_sin_GT(x1, x2, x3) → 1276_0_sin_GT(x1, x3)
Cond_1400_0_exp_GT(x1, x2, x3, x4) → Cond_1400_0_exp_GT(x1, x2, x4)
1474_1_exp_InvokeMethod(x1, x2, x3, x4, x5) → 1474_1_exp_InvokeMethod(x1, x4, x5)
757_0_power_GT(x1, x2, x3) → 757_0_power_GT(x1, x3)
1554_1_exp_InvokeMethod(x1, x2, x3, x4, x5) → 1554_1_exp_InvokeMethod(x1, x2, x4, x5)
1175_0_fact_GT(x1, x2) → 1175_0_fact_GT(x2)
Cond_1554_1_exp_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → Cond_1554_1_exp_InvokeMethod(x1, x2, x3, x5, x6, x7)
Cond_1331_0_cos_GT(x1, x2, x3, x4) → Cond_1331_0_cos_GT(x1, x2, x4)
1404_1_cos_InvokeMethod(x1, x2, x3, x4) → 1404_1_cos_InvokeMethod(x1, x2, x4)
Cond_1404_1_cos_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1404_1_cos_InvokeMethod(x1, x2, x3, x5, x6)
1534_1_cos_InvokeMethod(x1, x2, x3, x4, x5) → 1534_1_cos_InvokeMethod(x1, x3, x4, x5)
Cond_1534_1_cos_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → Cond_1534_1_cos_InvokeMethod(x1, x2, x4, x5, x6, x7)
Cond_1276_0_sin_GT(x1, x2, x3, x4) → Cond_1276_0_sin_GT(x1, x2, x4)
1336_1_sin_InvokeMethod(x1, x2, x3, x4) → 1336_1_sin_InvokeMethod(x1, x2, x4)
Cond_1336_1_sin_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1336_1_sin_InvokeMethod(x1, x2, x3, x5, x6)
1501_1_sin_InvokeMethod(x1, x2, x3, x4, x5) → 1501_1_sin_InvokeMethod(x1, x3, x4, x5)
Cond_1501_1_sin_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → Cond_1501_1_sin_InvokeMethod(x1, x2, x4, x5, x6, x7)
Cond_757_0_power_GT(x1, x2, x3, x4, x5) → Cond_757_0_power_GT(x1, x2, x4, x5)
864_1_power_InvokeMethod(x1, x2, x3) → 864_1_power_InvokeMethod(x1, x3)
Cond_1175_0_fact_GT(x1, x2, x3, x4) → Cond_1175_0_fact_GT(x1, x3, x4)
Filtered unneeded arguments:
1876_1_main_InvokeMethod(x1, x2, x3, x4) → 1876_1_main_InvokeMethod(x1, x3, x4)
Cond_1876_1_main_InvokeMethod(x1, x2, x3, x4) → Cond_1876_1_main_InvokeMethod(x1, x3, x4)
1815_1_main_InvokeMethod(x1, x2, x3, x4) → 1815_1_main_InvokeMethod(x1, x3, x4)
Cond_1815_1_main_InvokeMethod(x1, x2, x3, x4) → Cond_1815_1_main_InvokeMethod(x1, x3, x4)
1760_1_main_InvokeMethod(x1, x2, x3, x4) → 1760_1_main_InvokeMethod(x1, x3, x4)
Cond_1760_1_main_InvokeMethod(x1, x2, x3, x4, x5) → Cond_1760_1_main_InvokeMethod(x1, x4, x5)
1554_1_exp_InvokeMethod(x1, x2, x3, x4) → 1554_1_exp_InvokeMethod(x1, x2, x4)
Cond_1554_1_exp_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1554_1_exp_InvokeMethod(x1, x3, x6)
Cond_1404_1_cos_InvokeMethod(x1, x2, x3, x4, x5) → Cond_1404_1_cos_InvokeMethod(x1, x3, x4, x5)
1534_1_cos_InvokeMethod(x1, x2, x3, x4) → 1534_1_cos_InvokeMethod(x1, x2, x4)
Cond_1534_1_cos_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1534_1_cos_InvokeMethod(x1, x3, x5, x6)
Cond_1633_1_cos_InvokeMethod(x1, x2, x3, x4, x5) → Cond_1633_1_cos_InvokeMethod(x1, x3, x5)
Cond_1336_1_sin_InvokeMethod(x1, x2, x3, x4, x5) → Cond_1336_1_sin_InvokeMethod(x1, x3, x4, x5)
1501_1_sin_InvokeMethod(x1, x2, x3, x4) → 1501_1_sin_InvokeMethod(x1, x2, x4)
Cond_1501_1_sin_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1501_1_sin_InvokeMethod(x1, x3, x5, x6)
1619_1_sin_InvokeMethod(x1, x2, x3, x4) → 1619_1_sin_InvokeMethod(x1, x2, x3)
Cond_1619_1_sin_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1619_1_sin_InvokeMethod(x1, x3, x6)
1731_1_sin_InvokeMethod(x1, x2, x3) → 1731_1_sin_InvokeMethod(x1, x3)
757_0_power_GT(x1, x2) → 757_0_power_GT(x2)
Cond_757_0_power_GT(x1, x2, x3, x4) → Cond_757_0_power_GT(x1, x4)
864_1_power_InvokeMethod(x1, x2) → 864_1_power_InvokeMethod(x1)
Filtered free variables in P:
Cond_1554_1_exp_InvokeMethod(x1, x2, x3) → Cond_1554_1_exp_InvokeMethod(x1, x2)
1400_0_exp_GT(x1, x2) → 1400_0_exp_GT(x1)
Cond_1404_1_cos_InvokeMethod(x1, x2, x3, x4) → Cond_1404_1_cos_InvokeMethod(x1, x2)
757_0_power_GT(x1) → 757_0_power_GT
Cond_1534_1_cos_InvokeMethod(x1, x2, x3, x4) → Cond_1534_1_cos_InvokeMethod(x1, x3)
1175_0_fact_GT(x1) → 1175_0_fact_GT
Cond_1633_1_cos_InvokeMethod(x1, x2, x3) → Cond_1633_1_cos_InvokeMethod(x1, x2)
1331_0_cos_GT(x1, x2) → 1331_0_cos_GT(x1)
Cond_1336_1_sin_InvokeMethod(x1, x2, x3, x4) → Cond_1336_1_sin_InvokeMethod(x1, x2)
Cond_1501_1_sin_InvokeMethod(x1, x2, x3, x4) → Cond_1501_1_sin_InvokeMethod(x1, x3)
Cond_1619_1_sin_InvokeMethod(x1, x2, x3) → Cond_1619_1_sin_InvokeMethod(x1, x2)
1276_0_sin_GT(x1, x2) → 1276_0_sin_GT(x1)
797_0_power_Return(x1) → 797_0_power_Return
Cond_757_0_power_GT(x1, x2) → Cond_757_0_power_GT(x1)
1113_0_power_Return(x1) → 1113_0_power_Return
Cond_1175_0_fact_GT(x1, x2, x3) → Cond_1175_0_fact_GT(x1)
1252_1_fact_InvokeMethod(x1, x2) → 1252_1_fact_InvokeMethod(x1)
Cond_1252_1_fact_InvokeMethod(x1, x2) → Cond_1252_1_fact_InvokeMethod(x1)
1449_0_fact_Return(x1) → 1449_0_fact_Return
Cond_1252_1_fact_InvokeMethod1(x1, x2, x3) → Cond_1252_1_fact_InvokeMethod1(x1, x2)
Cond_1400_0_exp_GT(x1, x2, x3) → Cond_1400_0_exp_GT(x1, x2)
1474_1_exp_InvokeMethod(x1, x2, x3) → 1474_1_exp_InvokeMethod(x1, x2)
1554_1_exp_InvokeMethod(x1, x2, x3) → 1554_1_exp_InvokeMethod(x1, x2)
Cond_1331_0_cos_GT(x1, x2, x3) → Cond_1331_0_cos_GT(x1, x2)
1404_1_cos_InvokeMethod(x1, x2, x3) → 1404_1_cos_InvokeMethod(x1, x2)
1534_1_cos_InvokeMethod(x1, x2, x3) → 1534_1_cos_InvokeMethod(x1, x3)
1633_1_cos_InvokeMethod(x1, x2, x3) → 1633_1_cos_InvokeMethod(x1, x2)
Cond_1276_0_sin_GT(x1, x2, x3) → Cond_1276_0_sin_GT(x1, x2)
1336_1_sin_InvokeMethod(x1, x2, x3) → 1336_1_sin_InvokeMethod(x1, x2)
1501_1_sin_InvokeMethod(x1, x2, x3) → 1501_1_sin_InvokeMethod(x1, x3)
1619_1_sin_InvokeMethod(x1, x2, x3) → 1619_1_sin_InvokeMethod(x1, x2)
Current set of rules:
P rules:
1657_0_main_Load(java.lang.Object(ARRAY(x0)), x1) → Cond_1657_0_main_Load(&&(&&(&&(&&(<(x1, x0), >(+(x0, 1), 0)), =(1, %(x1, 2))), <(0, %(x1, 5))), <(0, %(x1, 3))), java.lang.Object(ARRAY(x0)), x1)
Cond_1657_0_main_Load(TRUE, java.lang.Object(ARRAY(x0)), x1) → 2000_0_main_GE(java.lang.Object(ARRAY(x0)), x1, 0)
2000_0_main_GE(java.lang.Object(ARRAY(x0)), x1, x2) → Cond_2000_0_main_GE(&&(>(+(x2, 1), 0), <(x2, 100)), java.lang.Object(ARRAY(x0)), x1, x2)
Cond_2000_0_main_GE(TRUE, java.lang.Object(ARRAY(x0)), x1, x2) → 2000_0_main_GE(java.lang.Object(ARRAY(x0)), x1, +(x2, 1))
2000_0_main_GE(java.lang.Object(ARRAY(x0)), x1, 100) → Cond_2000_0_main_GE1(>(+(x1, 1), 0), java.lang.Object(ARRAY(x0)), x1)
Cond_2000_0_main_GE1(TRUE, java.lang.Object(ARRAY(x0)), x1) → 1657_0_main_Load(java.lang.Object(ARRAY(x0)), +(x1, 1))
1657_0_main_Load(java.lang.Object(ARRAY(x0)), x1) → Cond_1657_0_main_Load1(&&(&&(&&(&&(<(x1, x0), >(+(x0, 1), 0)), =(1, %(x1, 2))), =(0, %(x1, 5))), <(0, %(x1, 3))), java.lang.Object(ARRAY(x0)), x1)
Cond_1657_0_main_Load1(TRUE, java.lang.Object(ARRAY(x0)), x1) → 1876_1_main_InvokeMethod(1876_0_exp_Load(x0, x1), x0, x1)
1876_1_main_InvokeMethod(1438_0_exp_Return(x0), x0, 0) → 1657_0_main_Load(java.lang.Object(ARRAY(x0)), 1)
1876_1_main_InvokeMethod(1762_0_exp_Return, x2, x1) → Cond_1876_1_main_InvokeMethod(>(+(x1, 1), 0), x2, x1)
Cond_1876_1_main_InvokeMethod(TRUE, x2, x1) → 1657_0_main_Load(java.lang.Object(ARRAY(x2)), +(x1, 1))
1657_0_main_Load(java.lang.Object(ARRAY(x0)), x1) → Cond_1657_0_main_Load2(&&(&&(&&(<(x1, x0), >(+(x0, 1), 0)), =(1, %(x1, 2))), =(0, %(x1, 3))), java.lang.Object(ARRAY(x0)), x1)
Cond_1657_0_main_Load2(TRUE, java.lang.Object(ARRAY(x0)), x1) → 1815_1_main_InvokeMethod(1815_0_cos_Load(x0, x1), x0, x1)
1815_1_main_InvokeMethod(1370_0_cos_Return(x0), x0, 0) → 1657_0_main_Load(java.lang.Object(ARRAY(x0)), 1)
1815_1_main_InvokeMethod(1854_0_cos_Return, x2, x1) → Cond_1815_1_main_InvokeMethod(>(+(x1, 1), 0), x2, x1)
Cond_1815_1_main_InvokeMethod(TRUE, x2, x1) → 1657_0_main_Load(java.lang.Object(ARRAY(x2)), +(x1, 1))
1657_0_main_Load(java.lang.Object(ARRAY(x0)), x1) → Cond_1657_0_main_Load3(&&(&&(<(x1, x0), >(+(x0, 1), 0)), =(0, %(x1, 2))), java.lang.Object(ARRAY(x0)), x1)
Cond_1657_0_main_Load3(TRUE, java.lang.Object(ARRAY(x0)), x1) → 1760_1_main_InvokeMethod(1760_0_sin_Load(x0, x1), x0, x1)
1760_1_main_InvokeMethod(1308_0_sin_Return(x0), x0, 0) → 1657_0_main_Load(java.lang.Object(ARRAY(x0)), 1)
1760_1_main_InvokeMethod(1842_0_sin_Return(x0), x3, x2) → Cond_1760_1_main_InvokeMethod(>(+(x2, 1), 0), x3, x2)
Cond_1760_1_main_InvokeMethod(TRUE, x3, x2) → 1657_0_main_Load(java.lang.Object(ARRAY(x3)), +(x2, 1))
R rules:
1876_0_exp_Load(x0, x1) → 1400_0_exp_GT(x0)
1815_0_cos_Load(x0, x1) → 1331_0_cos_GT(x0)
1760_0_sin_Load(x0, x1) → 1276_0_sin_GT(x0)
1400_0_exp_GT(x0) → 1438_0_exp_Return(x0)
1400_0_exp_GT(x0) → Cond_1400_0_exp_GT(x1_[0], x0)
Cond_1400_0_exp_GT(TRUE, x0) → 1474_1_exp_InvokeMethod(757_0_power_GT, x0)
1474_1_exp_InvokeMethod(1113_0_power_Return, x1) → 1554_1_exp_InvokeMethod(1175_0_fact_GT, x1)
1554_1_exp_InvokeMethod(1449_0_fact_Return, x1) → Cond_1554_1_exp_InvokeMethod(x0_[0,0]_[0], x1)
Cond_1554_1_exp_InvokeMethod(TRUE, x1) → 1672_1_exp_InvokeMethod(1400_0_exp_GT(x1), x1)
1672_1_exp_InvokeMethod(1438_0_exp_Return(x0), x0) → 1762_0_exp_Return
1672_1_exp_InvokeMethod(1762_0_exp_Return, x0) → 1762_0_exp_Return
1331_0_cos_GT(x0) → 1370_0_cos_Return(x0)
1331_0_cos_GT(x0) → Cond_1331_0_cos_GT(x1_[0], x0)
Cond_1331_0_cos_GT(TRUE, x0) → 1404_1_cos_InvokeMethod(757_0_power_GT, x0)
1404_1_cos_InvokeMethod(1113_0_power_Return, x1) → Cond_1404_1_cos_InvokeMethod(x2_[0,0]_[0], x1)
Cond_1404_1_cos_InvokeMethod(TRUE, x1) → 1534_1_cos_InvokeMethod(757_0_power_GT, x1)
1534_1_cos_InvokeMethod(1113_0_power_Return, x1) → Cond_1534_1_cos_InvokeMethod(x2_[0,0]_[0], x1)
Cond_1534_1_cos_InvokeMethod(TRUE, x1) → 1633_1_cos_InvokeMethod(1175_0_fact_GT, x1)
1633_1_cos_InvokeMethod(1449_0_fact_Return, x1) → Cond_1633_1_cos_InvokeMethod(x0_[0,0]_[0], x1)
Cond_1633_1_cos_InvokeMethod(TRUE, x1) → 1738_1_cos_InvokeMethod(1331_0_cos_GT(x1), x1)
1738_1_cos_InvokeMethod(1370_0_cos_Return(x0), x0) → 1854_0_cos_Return
1738_1_cos_InvokeMethod(1854_0_cos_Return, x0) → 1854_0_cos_Return
1276_0_sin_GT(x0) → 1308_0_sin_Return(x0)
1276_0_sin_GT(x0) → Cond_1276_0_sin_GT(x1_[0], x0)
Cond_1276_0_sin_GT(TRUE, x0) → 1336_1_sin_InvokeMethod(757_0_power_GT, x0)
1336_1_sin_InvokeMethod(1113_0_power_Return, x1) → Cond_1336_1_sin_InvokeMethod(x2_[0,0]_[0], x1)
Cond_1336_1_sin_InvokeMethod(TRUE, x1) → 1501_1_sin_InvokeMethod(757_0_power_GT, x1)
1501_1_sin_InvokeMethod(1113_0_power_Return, x1) → Cond_1501_1_sin_InvokeMethod(x2_[0,0]_[0], x1)
Cond_1501_1_sin_InvokeMethod(TRUE, x1) → 1619_1_sin_InvokeMethod(1175_0_fact_GT, x1)
1619_1_sin_InvokeMethod(1449_0_fact_Return, x1) → Cond_1619_1_sin_InvokeMethod(x0_[0,0]_[0], x1)
Cond_1619_1_sin_InvokeMethod(TRUE, x1) → 1731_1_sin_InvokeMethod(1276_0_sin_GT(x1), x1)
1731_1_sin_InvokeMethod(1308_0_sin_Return(x0), x0) → 1842_0_sin_Return(x2_[0])
1731_1_sin_InvokeMethod(1842_0_sin_Return(x0), x2) → 1842_0_sin_Return(x1_[0])
757_0_power_GT → 797_0_power_Return
757_0_power_GT → Cond_757_0_power_GT(x1_[0])
Cond_757_0_power_GT(TRUE) → 864_1_power_InvokeMethod(757_0_power_GT)
864_1_power_InvokeMethod(797_0_power_Return) → 1113_0_power_Return
864_1_power_InvokeMethod(1113_0_power_Return) → 1113_0_power_Return
1175_0_fact_GT → 1204_0_fact_Return
1175_0_fact_GT → Cond_1175_0_fact_GT(x0_[0])
Cond_1175_0_fact_GT(TRUE) → 1252_1_fact_InvokeMethod(1175_0_fact_GT)
1252_1_fact_InvokeMethod(1204_0_fact_Return) → Cond_1252_1_fact_InvokeMethod(arith[1]_[0,0]_[0])
Cond_1252_1_fact_InvokeMethod(TRUE) → 1449_0_fact_Return
1252_1_fact_InvokeMethod(1449_0_fact_Return) → Cond_1252_1_fact_InvokeMethod1(x0_[0,0]_[0], 1449_0_fact_Return)
Cond_1252_1_fact_InvokeMethod1(TRUE, 1449_0_fact_Return) → 1449_0_fact_Return
Filtered ground terms:
Cond_1252_1_fact_InvokeMethod1(x1, x2) → Cond_1252_1_fact_InvokeMethod1(x1)
Filtered modulo operations.
Combined rules. Obtained 12 conditional rules for P and 31 conditional rules for R.
P rules:
1657_0_main_Load(java.lang.Object(ARRAY(x0)), x1) → 2000_0_main_GE(java.lang.Object(ARRAY(x0)), x1, 0) | &&(<(x1, x0), >(x0, -1))
2000_0_main_GE(java.lang.Object(ARRAY(x0)), x1, x2) → 2000_0_main_GE(java.lang.Object(ARRAY(x0)), x1, +(x2, 1)) | &&(>(x2, -1), <(x2, 100))
2000_0_main_GE(java.lang.Object(ARRAY(x0)), x1, 100) → 1657_0_main_Load(java.lang.Object(ARRAY(x0)), +(x1, 1)) | >(x1, -1)
1657_0_main_Load(java.lang.Object(ARRAY(x0)), x1) → 1876_1_main_InvokeMethod(1876_0_exp_Load(x0, x1), x0, x1) | &&(<(x1, x0), >(x0, -1))
1876_1_main_InvokeMethod(1438_0_exp_Return(x0), x0, 0) → 1657_0_main_Load(java.lang.Object(ARRAY(x0)), 1)
1876_1_main_InvokeMethod(1762_0_exp_Return, x2, x1) → 1657_0_main_Load(java.lang.Object(ARRAY(x2)), +(x1, 1)) | >(x1, -1)
1657_0_main_Load(java.lang.Object(ARRAY(x0)), x1) → 1815_1_main_InvokeMethod(1815_0_cos_Load(x0, x1), x0, x1) | &&(<(x1, x0), >(x0, -1))
1815_1_main_InvokeMethod(1370_0_cos_Return(x0), x0, 0) → 1657_0_main_Load(java.lang.Object(ARRAY(x0)), 1)
1815_1_main_InvokeMethod(1854_0_cos_Return, x2, x1) → 1657_0_main_Load(java.lang.Object(ARRAY(x2)), +(x1, 1)) | >(x1, -1)
1657_0_main_Load(java.lang.Object(ARRAY(x0)), x1) → 1760_1_main_InvokeMethod(1760_0_sin_Load(x0, x1), x0, x1) | &&(<(x1, x0), >(x0, -1))
1760_1_main_InvokeMethod(1308_0_sin_Return(x0), x0, 0) → 1657_0_main_Load(java.lang.Object(ARRAY(x0)), 1)
1760_1_main_InvokeMethod(1842_0_sin_Return(x0), x3, x2) → 1657_0_main_Load(java.lang.Object(ARRAY(x3)), +(x2, 1)) | >(x2, -1)
R rules:
1876_0_exp_Load(x0, x1) → 1400_0_exp_GT(x0)
1815_0_cos_Load(x0, x1) → 1331_0_cos_GT(x0)
1760_0_sin_Load(x0, x1) → 1276_0_sin_GT(x0)
1400_0_exp_GT(x0) → 1438_0_exp_Return(x0)
1400_0_exp_GT(x0) → 1474_1_exp_InvokeMethod(757_0_power_GT, x0)
1474_1_exp_InvokeMethod(1113_0_power_Return, x1) → 1554_1_exp_InvokeMethod(1175_0_fact_GT, x1)
1554_1_exp_InvokeMethod(1449_0_fact_Return, x1) → 1672_1_exp_InvokeMethod(1400_0_exp_GT(x1), x1)
1672_1_exp_InvokeMethod(1438_0_exp_Return(x0), x0) → 1762_0_exp_Return
1672_1_exp_InvokeMethod(1762_0_exp_Return, x0) → 1762_0_exp_Return
1331_0_cos_GT(x0) → 1370_0_cos_Return(x0)
1331_0_cos_GT(x0) → 1404_1_cos_InvokeMethod(757_0_power_GT, x0)
1404_1_cos_InvokeMethod(1113_0_power_Return, x1) → 1534_1_cos_InvokeMethod(757_0_power_GT, x1)
1534_1_cos_InvokeMethod(1113_0_power_Return, x1) → 1633_1_cos_InvokeMethod(1175_0_fact_GT, x1)
1633_1_cos_InvokeMethod(1449_0_fact_Return, x1) → 1738_1_cos_InvokeMethod(1331_0_cos_GT(x1), x1)
1738_1_cos_InvokeMethod(1370_0_cos_Return(x0), x0) → 1854_0_cos_Return
1738_1_cos_InvokeMethod(1854_0_cos_Return, x0) → 1854_0_cos_Return
1276_0_sin_GT(x0) → 1308_0_sin_Return(x0)
1276_0_sin_GT(x0) → 1336_1_sin_InvokeMethod(757_0_power_GT, x0)
1336_1_sin_InvokeMethod(1113_0_power_Return, x1) → 1501_1_sin_InvokeMethod(757_0_power_GT, x1)
1501_1_sin_InvokeMethod(1113_0_power_Return, x1) → 1619_1_sin_InvokeMethod(1175_0_fact_GT, x1)
1619_1_sin_InvokeMethod(1449_0_fact_Return, x1) → 1731_1_sin_InvokeMethod(1276_0_sin_GT(x1), x1)
1731_1_sin_InvokeMethod(1308_0_sin_Return(x0), x0) → 1842_0_sin_Return(x2_[0])
1731_1_sin_InvokeMethod(1842_0_sin_Return(x0), x2) → 1842_0_sin_Return(x1_[0])
757_0_power_GT → 797_0_power_Return
757_0_power_GT → 864_1_power_InvokeMethod(757_0_power_GT)
864_1_power_InvokeMethod(797_0_power_Return) → 1113_0_power_Return
864_1_power_InvokeMethod(1113_0_power_Return) → 1113_0_power_Return
1175_0_fact_GT → 1204_0_fact_Return
1175_0_fact_GT → 1252_1_fact_InvokeMethod(1175_0_fact_GT)
1252_1_fact_InvokeMethod(1204_0_fact_Return) → 1449_0_fact_Return
1252_1_fact_InvokeMethod(1449_0_fact_Return) → 1449_0_fact_Return
Performed bisimulation on rules. Used the following equivalence classes: {[1438_0_exp_Return_1, 1370_0_cos_Return_1, 1308_0_sin_Return_1, 1842_0_sin_Return_1]=1438_0_exp_Return_1, [864_1_power_InvokeMethod_1, 1252_1_fact_InvokeMethod_1]=864_1_power_InvokeMethod_1, [757_0_power_GT, 1175_0_fact_GT]=757_0_power_GT, [1113_0_power_Return, 1449_0_fact_Return, 1762_0_exp_Return, 1854_0_cos_Return, 797_0_power_Return, 1204_0_fact_Return]=1113_0_power_Return, [Cond_1876_1_main_InvokeMethod_4, Cond_1815_1_main_InvokeMethod_4]=Cond_1876_1_main_InvokeMethod_4}
Finished conversion. Obtained 20 rules for P and 26 rules for R. System has predefined symbols.
P rules:
1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0)), x1) → COND_1657_0_MAIN_LOAD(&&(<(x1, x0), >(x0, -1)), java.lang.Object(ARRAY(x0)), x1)
COND_1657_0_MAIN_LOAD(TRUE, java.lang.Object(ARRAY(x0)), x1) → 2000_0_MAIN_GE(java.lang.Object(ARRAY(x0)), x1, 0)
2000_0_MAIN_GE(java.lang.Object(ARRAY(x0)), x1, x2) → COND_2000_0_MAIN_GE(&&(>(x2, -1), <(x2, 100)), java.lang.Object(ARRAY(x0)), x1, x2)
COND_2000_0_MAIN_GE(TRUE, java.lang.Object(ARRAY(x0)), x1, x2) → 2000_0_MAIN_GE(java.lang.Object(ARRAY(x0)), x1, +(x2, 1))
2000_0_MAIN_GE(java.lang.Object(ARRAY(x0)), x1, 100) → COND_2000_0_MAIN_GE1(>(x1, -1), java.lang.Object(ARRAY(x0)), x1, 100)
COND_2000_0_MAIN_GE1(TRUE, java.lang.Object(ARRAY(x0)), x1, 100) → 1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0)), +(x1, 1))
1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0)), x1) → COND_1657_0_MAIN_LOAD1(&&(<(x1, x0), >(x0, -1)), java.lang.Object(ARRAY(x0)), x1)
COND_1657_0_MAIN_LOAD1(TRUE, java.lang.Object(ARRAY(x0)), x1) → 1876_1_MAIN_INVOKEMETHOD(1876_0_exp_Load(x0, x1), x0, x1)
1876_1_MAIN_INVOKEMETHOD(1438_0_exp_Return(x0), x0, 0) → 1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0)), 1)
1876_1_MAIN_INVOKEMETHOD(1113_0_power_Return, x2, x1) → COND_1876_1_MAIN_INVOKEMETHOD(>(x1, -1), 1113_0_power_Return, x2, x1)
COND_1876_1_MAIN_INVOKEMETHOD(TRUE, 1113_0_power_Return, x2, x1) → 1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x2)), +(x1, 1))
1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0)), x1) → COND_1657_0_MAIN_LOAD2(&&(<(x1, x0), >(x0, -1)), java.lang.Object(ARRAY(x0)), x1)
COND_1657_0_MAIN_LOAD2(TRUE, java.lang.Object(ARRAY(x0)), x1) → 1815_1_MAIN_INVOKEMETHOD(1815_0_cos_Load(x0, x1), x0, x1)
1815_1_MAIN_INVOKEMETHOD(1438_0_exp_Return(x0), x0, 0) → 1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0)), 1)
1815_1_MAIN_INVOKEMETHOD(1113_0_power_Return, x2, x1) → COND_1876_1_MAIN_INVOKEMETHOD(>(x1, -1), 1113_0_power_Return, x2, x1)
1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0)), x1) → COND_1657_0_MAIN_LOAD3(&&(<(x1, x0), >(x0, -1)), java.lang.Object(ARRAY(x0)), x1)
COND_1657_0_MAIN_LOAD3(TRUE, java.lang.Object(ARRAY(x0)), x1) → 1760_1_MAIN_INVOKEMETHOD(1760_0_sin_Load(x0, x1), x0, x1)
1760_1_MAIN_INVOKEMETHOD(1438_0_exp_Return(x0), x0, 0) → 1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0)), 1)
1760_1_MAIN_INVOKEMETHOD(1438_0_exp_Return(x0), x3, x2) → COND_1760_1_MAIN_INVOKEMETHOD(>(x2, -1), 1438_0_exp_Return(x0), x3, x2)
COND_1760_1_MAIN_INVOKEMETHOD(TRUE, 1438_0_exp_Return(x0), x3, x2) → 1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x3)), +(x2, 1))
R rules:
1876_0_exp_Load(x0, x1) → 1400_0_exp_GT(x0)
1815_0_cos_Load(x0, x1) → 1331_0_cos_GT(x0)
1760_0_sin_Load(x0, x1) → 1276_0_sin_GT(x0)
1400_0_exp_GT(x0) → 1438_0_exp_Return(x0)
1400_0_exp_GT(x0) → 1474_1_exp_InvokeMethod(757_0_power_GT, x0)
1474_1_exp_InvokeMethod(1113_0_power_Return, x1) → 1554_1_exp_InvokeMethod(757_0_power_GT, x1)
1554_1_exp_InvokeMethod(1113_0_power_Return, x1) → 1672_1_exp_InvokeMethod(1400_0_exp_GT(x1), x1)
1672_1_exp_InvokeMethod(1438_0_exp_Return(x0), x0) → 1113_0_power_Return
1672_1_exp_InvokeMethod(1113_0_power_Return, x0) → 1113_0_power_Return
1331_0_cos_GT(x0) → 1438_0_exp_Return(x0)
1331_0_cos_GT(x0) → 1404_1_cos_InvokeMethod(757_0_power_GT, x0)
1404_1_cos_InvokeMethod(1113_0_power_Return, x1) → 1534_1_cos_InvokeMethod(757_0_power_GT, x1)
1534_1_cos_InvokeMethod(1113_0_power_Return, x1) → 1633_1_cos_InvokeMethod(757_0_power_GT, x1)
1633_1_cos_InvokeMethod(1113_0_power_Return, x1) → 1738_1_cos_InvokeMethod(1331_0_cos_GT(x1), x1)
1738_1_cos_InvokeMethod(1438_0_exp_Return(x0), x0) → 1113_0_power_Return
1738_1_cos_InvokeMethod(1113_0_power_Return, x0) → 1113_0_power_Return
1276_0_sin_GT(x0) → 1438_0_exp_Return(x0)
1276_0_sin_GT(x0) → 1336_1_sin_InvokeMethod(757_0_power_GT, x0)
1336_1_sin_InvokeMethod(1113_0_power_Return, x1) → 1501_1_sin_InvokeMethod(757_0_power_GT, x1)
1501_1_sin_InvokeMethod(1113_0_power_Return, x1) → 1619_1_sin_InvokeMethod(757_0_power_GT, x1)
1619_1_sin_InvokeMethod(1113_0_power_Return, x1) → 1731_1_sin_InvokeMethod(1276_0_sin_GT(x1), x1)
1731_1_sin_InvokeMethod(1438_0_exp_Return(x0), x0) → 1438_0_exp_Return(x2_[0])
1731_1_sin_InvokeMethod(1438_0_exp_Return(x0), x2) → 1438_0_exp_Return(x1_[0])
757_0_power_GT → 1113_0_power_Return
757_0_power_GT → 864_1_power_InvokeMethod(757_0_power_GT)
864_1_power_InvokeMethod(1113_0_power_Return) → 1113_0_power_Return
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
(0) -> (1), if (x1[0] < x0[0] && x0[0] > -1 ∧java.lang.Object(ARRAY(x0[0])) →* java.lang.Object(ARRAY(x0[1]))∧x1[0] →* x1[1])
(1) -> (2), if (java.lang.Object(ARRAY(x0[1])) →* java.lang.Object(ARRAY(x0[2]))∧x1[1] →* x1[2]∧0 →* x2[2])
(1) -> (4), if (java.lang.Object(ARRAY(x0[1])) →* java.lang.Object(ARRAY(x0[4]))∧x1[1] →* x1[4]∧0 →* 100)
(2) -> (3), if (x2[2] > -1 && x2[2] < 100 ∧java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[3]))∧x1[2] →* x1[3]∧x2[2] →* x2[3])
(3) -> (2), if (java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[2]))∧x1[3] →* x1[2]∧x2[3] + 1 →* x2[2])
(3) -> (4), if (java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[4]))∧x1[3] →* x1[4]∧x2[3] + 1 →* 100)
(4) -> (5), if (x1[4] > -1 ∧java.lang.Object(ARRAY(x0[4])) →* java.lang.Object(ARRAY(x0[5]))∧x1[4] →* x1[5])
(5) -> (0), if (java.lang.Object(ARRAY(x0[5])) →* java.lang.Object(ARRAY(x0[0]))∧x1[5] + 1 →* x1[0])
(5) -> (6), if (java.lang.Object(ARRAY(x0[5])) →* java.lang.Object(ARRAY(x0[6]))∧x1[5] + 1 →* x1[6])
(5) -> (11), if (java.lang.Object(ARRAY(x0[5])) →* java.lang.Object(ARRAY(x0[11]))∧x1[5] + 1 →* x1[11])
(5) -> (15), if (java.lang.Object(ARRAY(x0[5])) →* java.lang.Object(ARRAY(x0[15]))∧x1[5] + 1 →* x1[15])
(6) -> (7), if (x1[6] < x0[6] && x0[6] > -1 ∧java.lang.Object(ARRAY(x0[6])) →* java.lang.Object(ARRAY(x0[7]))∧x1[6] →* x1[7])
(7) -> (8), if (1876_0_exp_Load(x0[7], x1[7]) →* 1438_0_exp_Return(x0[8])∧x0[7] →* x0[8]∧x1[7] →* 0)
(7) -> (9), if (1876_0_exp_Load(x0[7], x1[7]) →* 1113_0_power_Return∧x0[7] →* x2[9]∧x1[7] →* x1[9])
(8) -> (0), if (java.lang.Object(ARRAY(x0[8])) →* java.lang.Object(ARRAY(x0[0]))∧1 →* x1[0])
(8) -> (6), if (java.lang.Object(ARRAY(x0[8])) →* java.lang.Object(ARRAY(x0[6]))∧1 →* x1[6])
(8) -> (11), if (java.lang.Object(ARRAY(x0[8])) →* java.lang.Object(ARRAY(x0[11]))∧1 →* x1[11])
(8) -> (15), if (java.lang.Object(ARRAY(x0[8])) →* java.lang.Object(ARRAY(x0[15]))∧1 →* x1[15])
(9) -> (10), if (x1[9] > -1 ∧x2[9] →* x2[10]∧x1[9] →* x1[10])
(10) -> (0), if (java.lang.Object(ARRAY(x2[10])) →* java.lang.Object(ARRAY(x0[0]))∧x1[10] + 1 →* x1[0])
(10) -> (6), if (java.lang.Object(ARRAY(x2[10])) →* java.lang.Object(ARRAY(x0[6]))∧x1[10] + 1 →* x1[6])
(10) -> (11), if (java.lang.Object(ARRAY(x2[10])) →* java.lang.Object(ARRAY(x0[11]))∧x1[10] + 1 →* x1[11])
(10) -> (15), if (java.lang.Object(ARRAY(x2[10])) →* java.lang.Object(ARRAY(x0[15]))∧x1[10] + 1 →* x1[15])
(11) -> (12), if (x1[11] < x0[11] && x0[11] > -1 ∧java.lang.Object(ARRAY(x0[11])) →* java.lang.Object(ARRAY(x0[12]))∧x1[11] →* x1[12])
(12) -> (13), if (1815_0_cos_Load(x0[12], x1[12]) →* 1438_0_exp_Return(x0[13])∧x0[12] →* x0[13]∧x1[12] →* 0)
(12) -> (14), if (1815_0_cos_Load(x0[12], x1[12]) →* 1113_0_power_Return∧x0[12] →* x2[14]∧x1[12] →* x1[14])
(13) -> (0), if (java.lang.Object(ARRAY(x0[13])) →* java.lang.Object(ARRAY(x0[0]))∧1 →* x1[0])
(13) -> (6), if (java.lang.Object(ARRAY(x0[13])) →* java.lang.Object(ARRAY(x0[6]))∧1 →* x1[6])
(13) -> (11), if (java.lang.Object(ARRAY(x0[13])) →* java.lang.Object(ARRAY(x0[11]))∧1 →* x1[11])
(13) -> (15), if (java.lang.Object(ARRAY(x0[13])) →* java.lang.Object(ARRAY(x0[15]))∧1 →* x1[15])
(14) -> (10), if (x1[14] > -1 ∧x2[14] →* x2[10]∧x1[14] →* x1[10])
(15) -> (16), if (x1[15] < x0[15] && x0[15] > -1 ∧java.lang.Object(ARRAY(x0[15])) →* java.lang.Object(ARRAY(x0[16]))∧x1[15] →* x1[16])
(16) -> (17), if (1760_0_sin_Load(x0[16], x1[16]) →* 1438_0_exp_Return(x0[17])∧x0[16] →* x0[17]∧x1[16] →* 0)
(16) -> (18), if (1760_0_sin_Load(x0[16], x1[16]) →* 1438_0_exp_Return(x0[18])∧x0[16] →* x3[18]∧x1[16] →* x2[18])
(17) -> (0), if (java.lang.Object(ARRAY(x0[17])) →* java.lang.Object(ARRAY(x0[0]))∧1 →* x1[0])
(17) -> (6), if (java.lang.Object(ARRAY(x0[17])) →* java.lang.Object(ARRAY(x0[6]))∧1 →* x1[6])
(17) -> (11), if (java.lang.Object(ARRAY(x0[17])) →* java.lang.Object(ARRAY(x0[11]))∧1 →* x1[11])
(17) -> (15), if (java.lang.Object(ARRAY(x0[17])) →* java.lang.Object(ARRAY(x0[15]))∧1 →* x1[15])
(18) -> (19), if (x2[18] > -1 ∧1438_0_exp_Return(x0[18]) →* 1438_0_exp_Return(x0[19])∧x3[18] →* x3[19]∧x2[18] →* x2[19])
(19) -> (0), if (java.lang.Object(ARRAY(x3[19])) →* java.lang.Object(ARRAY(x0[0]))∧x2[19] + 1 →* x1[0])
(19) -> (6), if (java.lang.Object(ARRAY(x3[19])) →* java.lang.Object(ARRAY(x0[6]))∧x2[19] + 1 →* x1[6])
(19) -> (11), if (java.lang.Object(ARRAY(x3[19])) →* java.lang.Object(ARRAY(x0[11]))∧x2[19] + 1 →* x1[11])
(19) -> (15), if (java.lang.Object(ARRAY(x3[19])) →* java.lang.Object(ARRAY(x0[15]))∧x2[19] + 1 →* x1[15])
(1) (&&(<(x1[0], x0[0]), >(x0[0], -1))=TRUE∧java.lang.Object(ARRAY(x0[0]))=java.lang.Object(ARRAY(x0[1]))∧x1[0]=x1[1] ⇒ 1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[0])), x1[0])≥NonInfC∧1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[0])), x1[0])≥COND_1657_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])∧(UIncreasing(COND_1657_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])), ≥))
(2) (<(x1[0], x0[0])=TRUE∧>(x0[0], -1)=TRUE ⇒ 1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[0])), x1[0])≥NonInfC∧1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[0])), x1[0])≥COND_1657_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])∧(UIncreasing(COND_1657_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])), ≥))
(3) (x0[0] + [-1] + [-1]x1[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])), ≥)∧[(-1)bni_67 + (-1)Bound*bni_67] + [(-1)bni_67]x1[0] + [(2)bni_67]x0[0] ≥ 0∧[(-1)bso_68] ≥ 0)
(4) (x0[0] + [-1] + [-1]x1[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])), ≥)∧[(-1)bni_67 + (-1)Bound*bni_67] + [(-1)bni_67]x1[0] + [(2)bni_67]x0[0] ≥ 0∧[(-1)bso_68] ≥ 0)
(5) (x0[0] + [-1] + [-1]x1[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])), ≥)∧[(-1)bni_67 + (-1)Bound*bni_67] + [(-1)bni_67]x1[0] + [(2)bni_67]x0[0] ≥ 0∧[(-1)bso_68] ≥ 0)
(6) (x0[0] + [-1] + [-1]x1[0] ≥ 0∧x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])), ≥)∧[(-1)bni_67 + (-1)Bound*bni_67] + [(-1)bni_67]x1[0] + [(2)bni_67]x0[0] ≥ 0∧[(-1)bso_68] ≥ 0)
(7) (x0[0] + [-1] + x1[0] ≥ 0∧x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])), ≥)∧[(-1)bni_67 + (-1)Bound*bni_67] + [bni_67]x1[0] + [(2)bni_67]x0[0] ≥ 0∧[(-1)bso_68] ≥ 0)
(8) (x0[0] ≥ 0∧[1] + x1[0] + x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])), ≥)∧[bni_67 + (-1)Bound*bni_67] + [bni_67]x1[0] + [(2)bni_67]x0[0] ≥ 0∧[(-1)bso_68] ≥ 0)
(9) (COND_1657_0_MAIN_LOAD(TRUE, java.lang.Object(ARRAY(x0[1])), x1[1])≥NonInfC∧COND_1657_0_MAIN_LOAD(TRUE, java.lang.Object(ARRAY(x0[1])), x1[1])≥2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[1])), x1[1], 0)∧(UIncreasing(2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[1])), x1[1], 0)), ≥))
(10) ((UIncreasing(2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[1])), x1[1], 0)), ≥)∧[bni_69] = 0∧[(-1)bso_70] ≥ 0)
(11) ((UIncreasing(2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[1])), x1[1], 0)), ≥)∧[bni_69] = 0∧[(-1)bso_70] ≥ 0)
(12) ((UIncreasing(2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[1])), x1[1], 0)), ≥)∧[bni_69] = 0∧[(-1)bso_70] ≥ 0)
(13) ((UIncreasing(2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[1])), x1[1], 0)), ≥)∧[bni_69] = 0∧0 = 0∧0 = 0∧[(-1)bso_70] ≥ 0)
(14) (&&(>(x2[2], -1), <(x2[2], 100))=TRUE∧java.lang.Object(ARRAY(x0[2]))=java.lang.Object(ARRAY(x0[3]))∧x1[2]=x1[3]∧x2[2]=x2[3] ⇒ 2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥NonInfC∧2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])∧(UIncreasing(COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥))
(15) (>(x2[2], -1)=TRUE∧<(x2[2], 100)=TRUE ⇒ 2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥NonInfC∧2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])∧(UIncreasing(COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥))
(16) (x2[2] ≥ 0∧[99] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥)∧[(-1)bni_71 + (-1)Bound*bni_71] + [(-1)bni_71]x1[2] + [(2)bni_71]x0[2] ≥ 0∧[(-1)bso_72] ≥ 0)
(17) (x2[2] ≥ 0∧[99] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥)∧[(-1)bni_71 + (-1)Bound*bni_71] + [(-1)bni_71]x1[2] + [(2)bni_71]x0[2] ≥ 0∧[(-1)bso_72] ≥ 0)
(18) (x2[2] ≥ 0∧[99] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥)∧[(-1)bni_71 + (-1)Bound*bni_71] + [(-1)bni_71]x1[2] + [(2)bni_71]x0[2] ≥ 0∧[(-1)bso_72] ≥ 0)
(19) (x2[2] ≥ 0∧[99] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥)∧[(-1)bni_71] = 0∧[(2)bni_71] = 0∧[(-1)bni_71 + (-1)Bound*bni_71] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_72] ≥ 0)
(20) (COND_2000_0_MAIN_GE(TRUE, java.lang.Object(ARRAY(x0[3])), x1[3], x2[3])≥NonInfC∧COND_2000_0_MAIN_GE(TRUE, java.lang.Object(ARRAY(x0[3])), x1[3], x2[3])≥2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))∧(UIncreasing(2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥))
(21) ((UIncreasing(2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_73] = 0∧[(-1)bso_74] ≥ 0)
(22) ((UIncreasing(2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_73] = 0∧[(-1)bso_74] ≥ 0)
(23) ((UIncreasing(2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_73] = 0∧[(-1)bso_74] ≥ 0)
(24) ((UIncreasing(2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_73] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_74] ≥ 0)
(25) (>(x1[4], -1)=TRUE∧java.lang.Object(ARRAY(x0[4]))=java.lang.Object(ARRAY(x0[5]))∧x1[4]=x1[5] ⇒ 2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[4])), x1[4], 100)≥NonInfC∧2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[4])), x1[4], 100)≥COND_2000_0_MAIN_GE1(>(x1[4], -1), java.lang.Object(ARRAY(x0[4])), x1[4], 100)∧(UIncreasing(COND_2000_0_MAIN_GE1(>(x1[4], -1), java.lang.Object(ARRAY(x0[4])), x1[4], 100)), ≥))
(26) (>(x1[4], -1)=TRUE ⇒ 2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[4])), x1[4], 100)≥NonInfC∧2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[4])), x1[4], 100)≥COND_2000_0_MAIN_GE1(>(x1[4], -1), java.lang.Object(ARRAY(x0[4])), x1[4], 100)∧(UIncreasing(COND_2000_0_MAIN_GE1(>(x1[4], -1), java.lang.Object(ARRAY(x0[4])), x1[4], 100)), ≥))
(27) (x1[4] ≥ 0 ⇒ (UIncreasing(COND_2000_0_MAIN_GE1(>(x1[4], -1), java.lang.Object(ARRAY(x0[4])), x1[4], 100)), ≥)∧[(-1)bni_75 + (-1)Bound*bni_75] + [(-1)bni_75]x1[4] + [(2)bni_75]x0[4] ≥ 0∧[(-1)bso_76] ≥ 0)
(28) (x1[4] ≥ 0 ⇒ (UIncreasing(COND_2000_0_MAIN_GE1(>(x1[4], -1), java.lang.Object(ARRAY(x0[4])), x1[4], 100)), ≥)∧[(-1)bni_75 + (-1)Bound*bni_75] + [(-1)bni_75]x1[4] + [(2)bni_75]x0[4] ≥ 0∧[(-1)bso_76] ≥ 0)
(29) (x1[4] ≥ 0 ⇒ (UIncreasing(COND_2000_0_MAIN_GE1(>(x1[4], -1), java.lang.Object(ARRAY(x0[4])), x1[4], 100)), ≥)∧[(-1)bni_75 + (-1)Bound*bni_75] + [(-1)bni_75]x1[4] + [(2)bni_75]x0[4] ≥ 0∧[(-1)bso_76] ≥ 0)
(30) (x1[4] ≥ 0 ⇒ (UIncreasing(COND_2000_0_MAIN_GE1(>(x1[4], -1), java.lang.Object(ARRAY(x0[4])), x1[4], 100)), ≥)∧[(2)bni_75] = 0∧[(-1)bni_75 + (-1)Bound*bni_75] + [(-1)bni_75]x1[4] ≥ 0∧0 = 0∧[(-1)bso_76] ≥ 0)
(31) (COND_2000_0_MAIN_GE1(TRUE, java.lang.Object(ARRAY(x0[5])), x1[5], 100)≥NonInfC∧COND_2000_0_MAIN_GE1(TRUE, java.lang.Object(ARRAY(x0[5])), x1[5], 100)≥1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[5])), +(x1[5], 1))∧(UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[5])), +(x1[5], 1))), ≥))
(32) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[5])), +(x1[5], 1))), ≥)∧[bni_77] = 0∧[1 + (-1)bso_78] ≥ 0)
(33) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[5])), +(x1[5], 1))), ≥)∧[bni_77] = 0∧[1 + (-1)bso_78] ≥ 0)
(34) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[5])), +(x1[5], 1))), ≥)∧[bni_77] = 0∧[1 + (-1)bso_78] ≥ 0)
(35) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[5])), +(x1[5], 1))), ≥)∧[bni_77] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_78] ≥ 0)
(36) (&&(<(x1[6], x0[6]), >(x0[6], -1))=TRUE∧java.lang.Object(ARRAY(x0[6]))=java.lang.Object(ARRAY(x0[7]))∧x1[6]=x1[7] ⇒ 1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[6])), x1[6])≥NonInfC∧1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[6])), x1[6])≥COND_1657_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])∧(UIncreasing(COND_1657_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])), ≥))
(37) (<(x1[6], x0[6])=TRUE∧>(x0[6], -1)=TRUE ⇒ 1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[6])), x1[6])≥NonInfC∧1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[6])), x1[6])≥COND_1657_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])∧(UIncreasing(COND_1657_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])), ≥))
(38) (x0[6] + [-1] + [-1]x1[6] ≥ 0∧x0[6] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])), ≥)∧[(-1)bni_79 + (-1)Bound*bni_79] + [(-1)bni_79]x1[6] + [(2)bni_79]x0[6] ≥ 0∧[(-1)bso_80] ≥ 0)
(39) (x0[6] + [-1] + [-1]x1[6] ≥ 0∧x0[6] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])), ≥)∧[(-1)bni_79 + (-1)Bound*bni_79] + [(-1)bni_79]x1[6] + [(2)bni_79]x0[6] ≥ 0∧[(-1)bso_80] ≥ 0)
(40) (x0[6] + [-1] + [-1]x1[6] ≥ 0∧x0[6] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])), ≥)∧[(-1)bni_79 + (-1)Bound*bni_79] + [(-1)bni_79]x1[6] + [(2)bni_79]x0[6] ≥ 0∧[(-1)bso_80] ≥ 0)
(41) (x0[6] + [-1] + [-1]x1[6] ≥ 0∧x0[6] ≥ 0∧x1[6] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])), ≥)∧[(-1)bni_79 + (-1)Bound*bni_79] + [(-1)bni_79]x1[6] + [(2)bni_79]x0[6] ≥ 0∧[(-1)bso_80] ≥ 0)
(42) (x0[6] + [-1] + x1[6] ≥ 0∧x0[6] ≥ 0∧x1[6] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])), ≥)∧[(-1)bni_79 + (-1)Bound*bni_79] + [bni_79]x1[6] + [(2)bni_79]x0[6] ≥ 0∧[(-1)bso_80] ≥ 0)
(43) (x0[6] ≥ 0∧[1] + x1[6] + x0[6] ≥ 0∧x1[6] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])), ≥)∧[bni_79 + (-1)Bound*bni_79] + [bni_79]x1[6] + [(2)bni_79]x0[6] ≥ 0∧[(-1)bso_80] ≥ 0)
(44) (COND_1657_0_MAIN_LOAD1(TRUE, java.lang.Object(ARRAY(x0[7])), x1[7])≥NonInfC∧COND_1657_0_MAIN_LOAD1(TRUE, java.lang.Object(ARRAY(x0[7])), x1[7])≥1876_1_MAIN_INVOKEMETHOD(1876_0_exp_Load(x0[7], x1[7]), x0[7], x1[7])∧(UIncreasing(1876_1_MAIN_INVOKEMETHOD(1876_0_exp_Load(x0[7], x1[7]), x0[7], x1[7])), ≥))
(45) ((UIncreasing(1876_1_MAIN_INVOKEMETHOD(1876_0_exp_Load(x0[7], x1[7]), x0[7], x1[7])), ≥)∧[bni_81] = 0∧[(-1)bso_82] ≥ 0)
(46) ((UIncreasing(1876_1_MAIN_INVOKEMETHOD(1876_0_exp_Load(x0[7], x1[7]), x0[7], x1[7])), ≥)∧[bni_81] = 0∧[(-1)bso_82] ≥ 0)
(47) ((UIncreasing(1876_1_MAIN_INVOKEMETHOD(1876_0_exp_Load(x0[7], x1[7]), x0[7], x1[7])), ≥)∧[bni_81] = 0∧[(-1)bso_82] ≥ 0)
(48) ((UIncreasing(1876_1_MAIN_INVOKEMETHOD(1876_0_exp_Load(x0[7], x1[7]), x0[7], x1[7])), ≥)∧[bni_81] = 0∧0 = 0∧0 = 0∧[(-1)bso_82] ≥ 0)
(49) (1876_1_MAIN_INVOKEMETHOD(1438_0_exp_Return(x0[8]), x0[8], 0)≥NonInfC∧1876_1_MAIN_INVOKEMETHOD(1438_0_exp_Return(x0[8]), x0[8], 0)≥1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[8])), 1)∧(UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[8])), 1)), ≥))
(50) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[8])), 1)), ≥)∧[bni_83] = 0∧[1 + (-1)bso_84] ≥ 0)
(51) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[8])), 1)), ≥)∧[bni_83] = 0∧[1 + (-1)bso_84] ≥ 0)
(52) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[8])), 1)), ≥)∧[bni_83] = 0∧[1 + (-1)bso_84] ≥ 0)
(53) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[8])), 1)), ≥)∧[bni_83] = 0∧0 = 0∧[1 + (-1)bso_84] ≥ 0)
(54) (>(x1[9], -1)=TRUE∧x2[9]=x2[10]∧x1[9]=x1[10] ⇒ 1876_1_MAIN_INVOKEMETHOD(1113_0_power_Return, x2[9], x1[9])≥NonInfC∧1876_1_MAIN_INVOKEMETHOD(1113_0_power_Return, x2[9], x1[9])≥COND_1876_1_MAIN_INVOKEMETHOD(>(x1[9], -1), 1113_0_power_Return, x2[9], x1[9])∧(UIncreasing(COND_1876_1_MAIN_INVOKEMETHOD(>(x1[9], -1), 1113_0_power_Return, x2[9], x1[9])), ≥))
(55) (>(x1[9], -1)=TRUE ⇒ 1876_1_MAIN_INVOKEMETHOD(1113_0_power_Return, x2[9], x1[9])≥NonInfC∧1876_1_MAIN_INVOKEMETHOD(1113_0_power_Return, x2[9], x1[9])≥COND_1876_1_MAIN_INVOKEMETHOD(>(x1[9], -1), 1113_0_power_Return, x2[9], x1[9])∧(UIncreasing(COND_1876_1_MAIN_INVOKEMETHOD(>(x1[9], -1), 1113_0_power_Return, x2[9], x1[9])), ≥))
(56) (x1[9] ≥ 0 ⇒ (UIncreasing(COND_1876_1_MAIN_INVOKEMETHOD(>(x1[9], -1), 1113_0_power_Return, x2[9], x1[9])), ≥)∧[(-1)bni_85 + (-1)Bound*bni_85] + [(2)bni_85]x2[9] + [(-1)bni_85]x1[9] ≥ 0∧[(-1)bso_86] ≥ 0)
(57) (x1[9] ≥ 0 ⇒ (UIncreasing(COND_1876_1_MAIN_INVOKEMETHOD(>(x1[9], -1), 1113_0_power_Return, x2[9], x1[9])), ≥)∧[(-1)bni_85 + (-1)Bound*bni_85] + [(2)bni_85]x2[9] + [(-1)bni_85]x1[9] ≥ 0∧[(-1)bso_86] ≥ 0)
(58) (x1[9] ≥ 0 ⇒ (UIncreasing(COND_1876_1_MAIN_INVOKEMETHOD(>(x1[9], -1), 1113_0_power_Return, x2[9], x1[9])), ≥)∧[(-1)bni_85 + (-1)Bound*bni_85] + [(2)bni_85]x2[9] + [(-1)bni_85]x1[9] ≥ 0∧[(-1)bso_86] ≥ 0)
(59) (x1[9] ≥ 0 ⇒ (UIncreasing(COND_1876_1_MAIN_INVOKEMETHOD(>(x1[9], -1), 1113_0_power_Return, x2[9], x1[9])), ≥)∧[(2)bni_85] = 0∧[(-1)bni_85 + (-1)Bound*bni_85] + [(-1)bni_85]x1[9] ≥ 0∧0 = 0∧[(-1)bso_86] ≥ 0)
(60) (COND_1876_1_MAIN_INVOKEMETHOD(TRUE, 1113_0_power_Return, x2[10], x1[10])≥NonInfC∧COND_1876_1_MAIN_INVOKEMETHOD(TRUE, 1113_0_power_Return, x2[10], x1[10])≥1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x2[10])), +(x1[10], 1))∧(UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x2[10])), +(x1[10], 1))), ≥))
(61) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x2[10])), +(x1[10], 1))), ≥)∧[bni_87] = 0∧[1 + (-1)bso_88] ≥ 0)
(62) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x2[10])), +(x1[10], 1))), ≥)∧[bni_87] = 0∧[1 + (-1)bso_88] ≥ 0)
(63) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x2[10])), +(x1[10], 1))), ≥)∧[bni_87] = 0∧[1 + (-1)bso_88] ≥ 0)
(64) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x2[10])), +(x1[10], 1))), ≥)∧[bni_87] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_88] ≥ 0)
(65) (&&(<(x1[11], x0[11]), >(x0[11], -1))=TRUE∧java.lang.Object(ARRAY(x0[11]))=java.lang.Object(ARRAY(x0[12]))∧x1[11]=x1[12] ⇒ 1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[11])), x1[11])≥NonInfC∧1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[11])), x1[11])≥COND_1657_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])∧(UIncreasing(COND_1657_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])), ≥))
(66) (<(x1[11], x0[11])=TRUE∧>(x0[11], -1)=TRUE ⇒ 1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[11])), x1[11])≥NonInfC∧1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[11])), x1[11])≥COND_1657_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])∧(UIncreasing(COND_1657_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])), ≥))
(67) (x0[11] + [-1] + [-1]x1[11] ≥ 0∧x0[11] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])), ≥)∧[(-1)bni_89 + (-1)Bound*bni_89] + [(-1)bni_89]x1[11] + [(2)bni_89]x0[11] ≥ 0∧[(-1)bso_90] ≥ 0)
(68) (x0[11] + [-1] + [-1]x1[11] ≥ 0∧x0[11] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])), ≥)∧[(-1)bni_89 + (-1)Bound*bni_89] + [(-1)bni_89]x1[11] + [(2)bni_89]x0[11] ≥ 0∧[(-1)bso_90] ≥ 0)
(69) (x0[11] + [-1] + [-1]x1[11] ≥ 0∧x0[11] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])), ≥)∧[(-1)bni_89 + (-1)Bound*bni_89] + [(-1)bni_89]x1[11] + [(2)bni_89]x0[11] ≥ 0∧[(-1)bso_90] ≥ 0)
(70) (x0[11] + [-1] + [-1]x1[11] ≥ 0∧x0[11] ≥ 0∧x1[11] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])), ≥)∧[(-1)bni_89 + (-1)Bound*bni_89] + [(-1)bni_89]x1[11] + [(2)bni_89]x0[11] ≥ 0∧[(-1)bso_90] ≥ 0)
(71) (x0[11] + [-1] + x1[11] ≥ 0∧x0[11] ≥ 0∧x1[11] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])), ≥)∧[(-1)bni_89 + (-1)Bound*bni_89] + [bni_89]x1[11] + [(2)bni_89]x0[11] ≥ 0∧[(-1)bso_90] ≥ 0)
(72) (x0[11] ≥ 0∧[1] + x1[11] + x0[11] ≥ 0∧x1[11] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])), ≥)∧[bni_89 + (-1)Bound*bni_89] + [bni_89]x1[11] + [(2)bni_89]x0[11] ≥ 0∧[(-1)bso_90] ≥ 0)
(73) (COND_1657_0_MAIN_LOAD2(TRUE, java.lang.Object(ARRAY(x0[12])), x1[12])≥NonInfC∧COND_1657_0_MAIN_LOAD2(TRUE, java.lang.Object(ARRAY(x0[12])), x1[12])≥1815_1_MAIN_INVOKEMETHOD(1815_0_cos_Load(x0[12], x1[12]), x0[12], x1[12])∧(UIncreasing(1815_1_MAIN_INVOKEMETHOD(1815_0_cos_Load(x0[12], x1[12]), x0[12], x1[12])), ≥))
(74) ((UIncreasing(1815_1_MAIN_INVOKEMETHOD(1815_0_cos_Load(x0[12], x1[12]), x0[12], x1[12])), ≥)∧[bni_91] = 0∧[(-1)bso_92] ≥ 0)
(75) ((UIncreasing(1815_1_MAIN_INVOKEMETHOD(1815_0_cos_Load(x0[12], x1[12]), x0[12], x1[12])), ≥)∧[bni_91] = 0∧[(-1)bso_92] ≥ 0)
(76) ((UIncreasing(1815_1_MAIN_INVOKEMETHOD(1815_0_cos_Load(x0[12], x1[12]), x0[12], x1[12])), ≥)∧[bni_91] = 0∧[(-1)bso_92] ≥ 0)
(77) ((UIncreasing(1815_1_MAIN_INVOKEMETHOD(1815_0_cos_Load(x0[12], x1[12]), x0[12], x1[12])), ≥)∧[bni_91] = 0∧0 = 0∧0 = 0∧[(-1)bso_92] ≥ 0)
(78) (1815_1_MAIN_INVOKEMETHOD(1438_0_exp_Return(x0[13]), x0[13], 0)≥NonInfC∧1815_1_MAIN_INVOKEMETHOD(1438_0_exp_Return(x0[13]), x0[13], 0)≥1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[13])), 1)∧(UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[13])), 1)), ≥))
(79) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[13])), 1)), ≥)∧[bni_93] = 0∧[1 + (-1)bso_94] ≥ 0)
(80) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[13])), 1)), ≥)∧[bni_93] = 0∧[1 + (-1)bso_94] ≥ 0)
(81) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[13])), 1)), ≥)∧[bni_93] = 0∧[1 + (-1)bso_94] ≥ 0)
(82) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[13])), 1)), ≥)∧[bni_93] = 0∧0 = 0∧[1 + (-1)bso_94] ≥ 0)
(83) (>(x1[14], -1)=TRUE∧x2[14]=x2[10]∧x1[14]=x1[10] ⇒ 1815_1_MAIN_INVOKEMETHOD(1113_0_power_Return, x2[14], x1[14])≥NonInfC∧1815_1_MAIN_INVOKEMETHOD(1113_0_power_Return, x2[14], x1[14])≥COND_1876_1_MAIN_INVOKEMETHOD(>(x1[14], -1), 1113_0_power_Return, x2[14], x1[14])∧(UIncreasing(COND_1876_1_MAIN_INVOKEMETHOD(>(x1[14], -1), 1113_0_power_Return, x2[14], x1[14])), ≥))
(84) (>(x1[14], -1)=TRUE ⇒ 1815_1_MAIN_INVOKEMETHOD(1113_0_power_Return, x2[14], x1[14])≥NonInfC∧1815_1_MAIN_INVOKEMETHOD(1113_0_power_Return, x2[14], x1[14])≥COND_1876_1_MAIN_INVOKEMETHOD(>(x1[14], -1), 1113_0_power_Return, x2[14], x1[14])∧(UIncreasing(COND_1876_1_MAIN_INVOKEMETHOD(>(x1[14], -1), 1113_0_power_Return, x2[14], x1[14])), ≥))
(85) (x1[14] ≥ 0 ⇒ (UIncreasing(COND_1876_1_MAIN_INVOKEMETHOD(>(x1[14], -1), 1113_0_power_Return, x2[14], x1[14])), ≥)∧[(-1)bni_95 + (-1)Bound*bni_95] + [(2)bni_95]x2[14] + [(-1)bni_95]x1[14] ≥ 0∧[(-1)bso_96] ≥ 0)
(86) (x1[14] ≥ 0 ⇒ (UIncreasing(COND_1876_1_MAIN_INVOKEMETHOD(>(x1[14], -1), 1113_0_power_Return, x2[14], x1[14])), ≥)∧[(-1)bni_95 + (-1)Bound*bni_95] + [(2)bni_95]x2[14] + [(-1)bni_95]x1[14] ≥ 0∧[(-1)bso_96] ≥ 0)
(87) (x1[14] ≥ 0 ⇒ (UIncreasing(COND_1876_1_MAIN_INVOKEMETHOD(>(x1[14], -1), 1113_0_power_Return, x2[14], x1[14])), ≥)∧[(-1)bni_95 + (-1)Bound*bni_95] + [(2)bni_95]x2[14] + [(-1)bni_95]x1[14] ≥ 0∧[(-1)bso_96] ≥ 0)
(88) (x1[14] ≥ 0 ⇒ (UIncreasing(COND_1876_1_MAIN_INVOKEMETHOD(>(x1[14], -1), 1113_0_power_Return, x2[14], x1[14])), ≥)∧[(2)bni_95] = 0∧[(-1)bni_95 + (-1)Bound*bni_95] + [(-1)bni_95]x1[14] ≥ 0∧0 = 0∧[(-1)bso_96] ≥ 0)
(89) (&&(<(x1[15], x0[15]), >(x0[15], -1))=TRUE∧java.lang.Object(ARRAY(x0[15]))=java.lang.Object(ARRAY(x0[16]))∧x1[15]=x1[16] ⇒ 1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[15])), x1[15])≥NonInfC∧1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[15])), x1[15])≥COND_1657_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])∧(UIncreasing(COND_1657_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])), ≥))
(90) (<(x1[15], x0[15])=TRUE∧>(x0[15], -1)=TRUE ⇒ 1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[15])), x1[15])≥NonInfC∧1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[15])), x1[15])≥COND_1657_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])∧(UIncreasing(COND_1657_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])), ≥))
(91) (x0[15] + [-1] + [-1]x1[15] ≥ 0∧x0[15] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])), ≥)∧[(-1)bni_97 + (-1)Bound*bni_97] + [(-1)bni_97]x1[15] + [(2)bni_97]x0[15] ≥ 0∧[(-1)bso_98] ≥ 0)
(92) (x0[15] + [-1] + [-1]x1[15] ≥ 0∧x0[15] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])), ≥)∧[(-1)bni_97 + (-1)Bound*bni_97] + [(-1)bni_97]x1[15] + [(2)bni_97]x0[15] ≥ 0∧[(-1)bso_98] ≥ 0)
(93) (x0[15] + [-1] + [-1]x1[15] ≥ 0∧x0[15] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])), ≥)∧[(-1)bni_97 + (-1)Bound*bni_97] + [(-1)bni_97]x1[15] + [(2)bni_97]x0[15] ≥ 0∧[(-1)bso_98] ≥ 0)
(94) (x0[15] + [-1] + [-1]x1[15] ≥ 0∧x0[15] ≥ 0∧x1[15] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])), ≥)∧[(-1)bni_97 + (-1)Bound*bni_97] + [(-1)bni_97]x1[15] + [(2)bni_97]x0[15] ≥ 0∧[(-1)bso_98] ≥ 0)
(95) (x0[15] + [-1] + x1[15] ≥ 0∧x0[15] ≥ 0∧x1[15] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])), ≥)∧[(-1)bni_97 + (-1)Bound*bni_97] + [bni_97]x1[15] + [(2)bni_97]x0[15] ≥ 0∧[(-1)bso_98] ≥ 0)
(96) (x0[15] ≥ 0∧[1] + x1[15] + x0[15] ≥ 0∧x1[15] ≥ 0 ⇒ (UIncreasing(COND_1657_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])), ≥)∧[bni_97 + (-1)Bound*bni_97] + [bni_97]x1[15] + [(2)bni_97]x0[15] ≥ 0∧[(-1)bso_98] ≥ 0)
(97) (COND_1657_0_MAIN_LOAD3(TRUE, java.lang.Object(ARRAY(x0[16])), x1[16])≥NonInfC∧COND_1657_0_MAIN_LOAD3(TRUE, java.lang.Object(ARRAY(x0[16])), x1[16])≥1760_1_MAIN_INVOKEMETHOD(1760_0_sin_Load(x0[16], x1[16]), x0[16], x1[16])∧(UIncreasing(1760_1_MAIN_INVOKEMETHOD(1760_0_sin_Load(x0[16], x1[16]), x0[16], x1[16])), ≥))
(98) ((UIncreasing(1760_1_MAIN_INVOKEMETHOD(1760_0_sin_Load(x0[16], x1[16]), x0[16], x1[16])), ≥)∧[bni_99] = 0∧[(-1)bso_100] ≥ 0)
(99) ((UIncreasing(1760_1_MAIN_INVOKEMETHOD(1760_0_sin_Load(x0[16], x1[16]), x0[16], x1[16])), ≥)∧[bni_99] = 0∧[(-1)bso_100] ≥ 0)
(100) ((UIncreasing(1760_1_MAIN_INVOKEMETHOD(1760_0_sin_Load(x0[16], x1[16]), x0[16], x1[16])), ≥)∧[bni_99] = 0∧[(-1)bso_100] ≥ 0)
(101) ((UIncreasing(1760_1_MAIN_INVOKEMETHOD(1760_0_sin_Load(x0[16], x1[16]), x0[16], x1[16])), ≥)∧[bni_99] = 0∧0 = 0∧0 = 0∧[(-1)bso_100] ≥ 0)
(102) (1760_1_MAIN_INVOKEMETHOD(1438_0_exp_Return(x0[17]), x0[17], 0)≥NonInfC∧1760_1_MAIN_INVOKEMETHOD(1438_0_exp_Return(x0[17]), x0[17], 0)≥1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[17])), 1)∧(UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[17])), 1)), ≥))
(103) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[17])), 1)), ≥)∧[bni_101] = 0∧[1 + (-1)bso_102] ≥ 0)
(104) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[17])), 1)), ≥)∧[bni_101] = 0∧[1 + (-1)bso_102] ≥ 0)
(105) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[17])), 1)), ≥)∧[bni_101] = 0∧[1 + (-1)bso_102] ≥ 0)
(106) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[17])), 1)), ≥)∧[bni_101] = 0∧0 = 0∧[1 + (-1)bso_102] ≥ 0)
(107) (>(x2[18], -1)=TRUE∧1438_0_exp_Return(x0[18])=1438_0_exp_Return(x0[19])∧x3[18]=x3[19]∧x2[18]=x2[19] ⇒ 1760_1_MAIN_INVOKEMETHOD(1438_0_exp_Return(x0[18]), x3[18], x2[18])≥NonInfC∧1760_1_MAIN_INVOKEMETHOD(1438_0_exp_Return(x0[18]), x3[18], x2[18])≥COND_1760_1_MAIN_INVOKEMETHOD(>(x2[18], -1), 1438_0_exp_Return(x0[18]), x3[18], x2[18])∧(UIncreasing(COND_1760_1_MAIN_INVOKEMETHOD(>(x2[18], -1), 1438_0_exp_Return(x0[18]), x3[18], x2[18])), ≥))
(108) (>(x2[18], -1)=TRUE ⇒ 1760_1_MAIN_INVOKEMETHOD(1438_0_exp_Return(x0[18]), x3[18], x2[18])≥NonInfC∧1760_1_MAIN_INVOKEMETHOD(1438_0_exp_Return(x0[18]), x3[18], x2[18])≥COND_1760_1_MAIN_INVOKEMETHOD(>(x2[18], -1), 1438_0_exp_Return(x0[18]), x3[18], x2[18])∧(UIncreasing(COND_1760_1_MAIN_INVOKEMETHOD(>(x2[18], -1), 1438_0_exp_Return(x0[18]), x3[18], x2[18])), ≥))
(109) (x2[18] ≥ 0 ⇒ (UIncreasing(COND_1760_1_MAIN_INVOKEMETHOD(>(x2[18], -1), 1438_0_exp_Return(x0[18]), x3[18], x2[18])), ≥)∧[(-1)bni_103 + (-1)Bound*bni_103] + [(2)bni_103]x3[18] + [(-1)bni_103]x2[18] ≥ 0∧[(-1)bso_104] ≥ 0)
(110) (x2[18] ≥ 0 ⇒ (UIncreasing(COND_1760_1_MAIN_INVOKEMETHOD(>(x2[18], -1), 1438_0_exp_Return(x0[18]), x3[18], x2[18])), ≥)∧[(-1)bni_103 + (-1)Bound*bni_103] + [(2)bni_103]x3[18] + [(-1)bni_103]x2[18] ≥ 0∧[(-1)bso_104] ≥ 0)
(111) (x2[18] ≥ 0 ⇒ (UIncreasing(COND_1760_1_MAIN_INVOKEMETHOD(>(x2[18], -1), 1438_0_exp_Return(x0[18]), x3[18], x2[18])), ≥)∧[(-1)bni_103 + (-1)Bound*bni_103] + [(2)bni_103]x3[18] + [(-1)bni_103]x2[18] ≥ 0∧[(-1)bso_104] ≥ 0)
(112) (x2[18] ≥ 0 ⇒ (UIncreasing(COND_1760_1_MAIN_INVOKEMETHOD(>(x2[18], -1), 1438_0_exp_Return(x0[18]), x3[18], x2[18])), ≥)∧[(2)bni_103] = 0∧0 = 0∧[(-1)bni_103 + (-1)Bound*bni_103] + [(-1)bni_103]x2[18] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_104] ≥ 0)
(113) (COND_1760_1_MAIN_INVOKEMETHOD(TRUE, 1438_0_exp_Return(x0[19]), x3[19], x2[19])≥NonInfC∧COND_1760_1_MAIN_INVOKEMETHOD(TRUE, 1438_0_exp_Return(x0[19]), x3[19], x2[19])≥1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x3[19])), +(x2[19], 1))∧(UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x3[19])), +(x2[19], 1))), ≥))
(114) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x3[19])), +(x2[19], 1))), ≥)∧[bni_105] = 0∧[1 + (-1)bso_106] ≥ 0)
(115) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x3[19])), +(x2[19], 1))), ≥)∧[bni_105] = 0∧[1 + (-1)bso_106] ≥ 0)
(116) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x3[19])), +(x2[19], 1))), ≥)∧[bni_105] = 0∧[1 + (-1)bso_106] ≥ 0)
(117) ((UIncreasing(1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x3[19])), +(x2[19], 1))), ≥)∧[bni_105] = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_106] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(1876_0_exp_Load(x1, x2)) = [-1] + [-1]x2 + [-1]x1
POL(1400_0_exp_GT(x1)) = [-1] + [-1]x1
POL(1815_0_cos_Load(x1, x2)) = [-1] + [-1]x2 + [-1]x1
POL(1331_0_cos_GT(x1)) = [1] + [2]x1
POL(1760_0_sin_Load(x1, x2)) = [-1] + [-1]x2 + [-1]x1
POL(1276_0_sin_GT(x1)) = [1] + [-1]x1
POL(1438_0_exp_Return(x1)) = x1
POL(1474_1_exp_InvokeMethod(x1, x2)) = [-1]x2
POL(757_0_power_GT) = [-1]
POL(1113_0_power_Return) = [-1]
POL(1554_1_exp_InvokeMethod(x1, x2)) = [-1] + [-1]x2
POL(1672_1_exp_InvokeMethod(x1, x2)) = [-1] + [-1]x1 + [-1]x2
POL(1404_1_cos_InvokeMethod(x1, x2)) = 0
POL(1534_1_cos_InvokeMethod(x1, x2)) = [-1]
POL(1633_1_cos_InvokeMethod(x1, x2)) = [2]x2
POL(1738_1_cos_InvokeMethod(x1, x2)) = [2] + [-1]x1 + [-1]x2
POL(1336_1_sin_InvokeMethod(x1, x2)) = [-1]x2
POL(1501_1_sin_InvokeMethod(x1, x2)) = [2]x2
POL(1619_1_sin_InvokeMethod(x1, x2)) = [-1] + [-1]x2
POL(1731_1_sin_InvokeMethod(x1, x2)) = [2] + [-1]x1 + [-1]x2
POL(864_1_power_InvokeMethod(x1)) = [-1]
POL(1657_0_MAIN_LOAD(x1, x2)) = [-1] + [-1]x2 + [2]x1
POL(java.lang.Object(x1)) = x1
POL(ARRAY(x1)) = x1
POL(COND_1657_0_MAIN_LOAD(x1, x2, x3)) = [-1] + [-1]x3 + [2]x2
POL(&&(x1, x2)) = [-1]
POL(<(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(-1) = [-1]
POL(2000_0_MAIN_GE(x1, x2, x3)) = [-1] + [-1]x2 + [2]x1
POL(0) = 0
POL(COND_2000_0_MAIN_GE(x1, x2, x3, x4)) = [-1] + [-1]x3 + [2]x2
POL(100) = [100]
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(COND_2000_0_MAIN_GE1(x1, x2, x3, x4)) = [-1] + [-1]x3 + [2]x2
POL(COND_1657_0_MAIN_LOAD1(x1, x2, x3)) = [-1] + [-1]x3 + [2]x2
POL(1876_1_MAIN_INVOKEMETHOD(x1, x2, x3)) = [-1] + [2]x2 + [-1]x3
POL(COND_1876_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + [-1]x4 + [2]x3
POL(COND_1657_0_MAIN_LOAD2(x1, x2, x3)) = [-1] + [-1]x3 + [2]x2
POL(1815_1_MAIN_INVOKEMETHOD(x1, x2, x3)) = [-1] + [2]x2 + [-1]x3
POL(COND_1657_0_MAIN_LOAD3(x1, x2, x3)) = [-1] + [-1]x3 + [2]x2
POL(1760_1_MAIN_INVOKEMETHOD(x1, x2, x3)) = [-1] + [2]x2 + [-1]x3
POL(COND_1760_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + [-1]x4 + [2]x3
COND_2000_0_MAIN_GE1(TRUE, java.lang.Object(ARRAY(x0[5])), x1[5], 100) → 1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[5])), +(x1[5], 1))
1876_1_MAIN_INVOKEMETHOD(1438_0_exp_Return(x0[8]), x0[8], 0) → 1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[8])), 1)
COND_1876_1_MAIN_INVOKEMETHOD(TRUE, 1113_0_power_Return, x2[10], x1[10]) → 1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x2[10])), +(x1[10], 1))
1815_1_MAIN_INVOKEMETHOD(1438_0_exp_Return(x0[13]), x0[13], 0) → 1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[13])), 1)
1760_1_MAIN_INVOKEMETHOD(1438_0_exp_Return(x0[17]), x0[17], 0) → 1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[17])), 1)
COND_1760_1_MAIN_INVOKEMETHOD(TRUE, 1438_0_exp_Return(x0[19]), x3[19], x2[19]) → 1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x3[19])), +(x2[19], 1))
1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[0])), x1[0]) → COND_1657_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])
1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[6])), x1[6]) → COND_1657_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])
1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[11])), x1[11]) → COND_1657_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])
1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[15])), x1[15]) → COND_1657_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])
1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[0])), x1[0]) → COND_1657_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])
COND_1657_0_MAIN_LOAD(TRUE, java.lang.Object(ARRAY(x0[1])), x1[1]) → 2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[1])), x1[1], 0)
2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2]) → COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])
COND_2000_0_MAIN_GE(TRUE, java.lang.Object(ARRAY(x0[3])), x1[3], x2[3]) → 2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))
2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[4])), x1[4], 100) → COND_2000_0_MAIN_GE1(>(x1[4], -1), java.lang.Object(ARRAY(x0[4])), x1[4], 100)
1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[6])), x1[6]) → COND_1657_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])
COND_1657_0_MAIN_LOAD1(TRUE, java.lang.Object(ARRAY(x0[7])), x1[7]) → 1876_1_MAIN_INVOKEMETHOD(1876_0_exp_Load(x0[7], x1[7]), x0[7], x1[7])
1876_1_MAIN_INVOKEMETHOD(1113_0_power_Return, x2[9], x1[9]) → COND_1876_1_MAIN_INVOKEMETHOD(>(x1[9], -1), 1113_0_power_Return, x2[9], x1[9])
1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[11])), x1[11]) → COND_1657_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])
COND_1657_0_MAIN_LOAD2(TRUE, java.lang.Object(ARRAY(x0[12])), x1[12]) → 1815_1_MAIN_INVOKEMETHOD(1815_0_cos_Load(x0[12], x1[12]), x0[12], x1[12])
1815_1_MAIN_INVOKEMETHOD(1113_0_power_Return, x2[14], x1[14]) → COND_1876_1_MAIN_INVOKEMETHOD(>(x1[14], -1), 1113_0_power_Return, x2[14], x1[14])
1657_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[15])), x1[15]) → COND_1657_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])
COND_1657_0_MAIN_LOAD3(TRUE, java.lang.Object(ARRAY(x0[16])), x1[16]) → 1760_1_MAIN_INVOKEMETHOD(1760_0_sin_Load(x0[16], x1[16]), x0[16], x1[16])
1760_1_MAIN_INVOKEMETHOD(1438_0_exp_Return(x0[18]), x3[18], x2[18]) → COND_1760_1_MAIN_INVOKEMETHOD(>(x2[18], -1), 1438_0_exp_Return(x0[18]), x3[18], x2[18])
1474_1_exp_InvokeMethod(1113_0_power_Return, x1)1 → 1554_1_exp_InvokeMethod(757_0_power_GT, x1)1
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
(0) -> (1), if (x1[0] < x0[0] && x0[0] > -1 ∧java.lang.Object(ARRAY(x0[0])) →* java.lang.Object(ARRAY(x0[1]))∧x1[0] →* x1[1])
(1) -> (2), if (java.lang.Object(ARRAY(x0[1])) →* java.lang.Object(ARRAY(x0[2]))∧x1[1] →* x1[2]∧0 →* x2[2])
(3) -> (2), if (java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[2]))∧x1[3] →* x1[2]∧x2[3] + 1 →* x2[2])
(2) -> (3), if (x2[2] > -1 && x2[2] < 100 ∧java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[3]))∧x1[2] →* x1[3]∧x2[2] →* x2[3])
(1) -> (4), if (java.lang.Object(ARRAY(x0[1])) →* java.lang.Object(ARRAY(x0[4]))∧x1[1] →* x1[4]∧0 →* 100)
(3) -> (4), if (java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[4]))∧x1[3] →* x1[4]∧x2[3] + 1 →* 100)
(6) -> (7), if (x1[6] < x0[6] && x0[6] > -1 ∧java.lang.Object(ARRAY(x0[6])) →* java.lang.Object(ARRAY(x0[7]))∧x1[6] →* x1[7])
(7) -> (9), if (1876_0_exp_Load(x0[7], x1[7]) →* 1113_0_power_Return∧x0[7] →* x2[9]∧x1[7] →* x1[9])
(11) -> (12), if (x1[11] < x0[11] && x0[11] > -1 ∧java.lang.Object(ARRAY(x0[11])) →* java.lang.Object(ARRAY(x0[12]))∧x1[11] →* x1[12])
(12) -> (14), if (1815_0_cos_Load(x0[12], x1[12]) →* 1113_0_power_Return∧x0[12] →* x2[14]∧x1[12] →* x1[14])
(15) -> (16), if (x1[15] < x0[15] && x0[15] > -1 ∧java.lang.Object(ARRAY(x0[15])) →* java.lang.Object(ARRAY(x0[16]))∧x1[15] →* x1[16])
(16) -> (18), if (1760_0_sin_Load(x0[16], x1[16]) →* 1438_0_exp_Return(x0[18])∧x0[16] →* x3[18]∧x1[16] →* x2[18])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(3) -> (2), if (java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[2]))∧x1[3] →* x1[2]∧x2[3] + 1 →* x2[2])
(2) -> (3), if (x2[2] > -1 && x2[2] < 100 ∧java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[3]))∧x1[2] →* x1[3]∧x2[2] →* x2[3])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(3) -> (2), if (java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[2]))∧x1[3] →* x1[2]∧x2[3] + 1 →* x2[2])
(2) -> (3), if (x2[2] > -1 && x2[2] < 100 ∧java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[3]))∧x1[2] →* x1[3]∧x2[2] →* x2[3])
(1) (COND_2000_0_MAIN_GE(TRUE, java.lang.Object(ARRAY(x0[3])), x1[3], x2[3])≥NonInfC∧COND_2000_0_MAIN_GE(TRUE, java.lang.Object(ARRAY(x0[3])), x1[3], x2[3])≥2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))∧(UIncreasing(2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥))
(2) ((UIncreasing(2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_10] = 0∧[1 + (-1)bso_11] ≥ 0)
(3) ((UIncreasing(2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_10] = 0∧[1 + (-1)bso_11] ≥ 0)
(4) ((UIncreasing(2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_10] = 0∧[1 + (-1)bso_11] ≥ 0)
(5) ((UIncreasing(2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_10] = 0∧0 = 0∧[1 + (-1)bso_11] ≥ 0)
(6) (&&(>(x2[2], -1), <(x2[2], 100))=TRUE∧java.lang.Object(ARRAY(x0[2]))=java.lang.Object(ARRAY(x0[3]))∧x1[2]=x1[3]∧x2[2]=x2[3] ⇒ 2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥NonInfC∧2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])∧(UIncreasing(COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥))
(7) (>(x2[2], -1)=TRUE∧<(x2[2], 100)=TRUE ⇒ 2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥NonInfC∧2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])∧(UIncreasing(COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥))
(8) (x2[2] ≥ 0∧[99] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(-1)bni_12]x2[2] ≥ 0∧[(-1)bso_13] ≥ 0)
(9) (x2[2] ≥ 0∧[99] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(-1)bni_12]x2[2] ≥ 0∧[(-1)bso_13] ≥ 0)
(10) (x2[2] ≥ 0∧[99] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(-1)bni_12]x2[2] ≥ 0∧[(-1)bso_13] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(COND_2000_0_MAIN_GE(x1, x2, x3, x4)) = [-1] + [-1]x4
POL(java.lang.Object(x1)) = [-1]
POL(ARRAY(x1)) = [-1]
POL(2000_0_MAIN_GE(x1, x2, x3)) = [-1] + [-1]x3
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(-1) = [-1]
POL(<(x1, x2)) = [-1]
POL(100) = [100]
COND_2000_0_MAIN_GE(TRUE, java.lang.Object(ARRAY(x0[3])), x1[3], x2[3]) → 2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))
2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2]) → COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])
2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2]) → COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
(1) -> (2), if (java.lang.Object(ARRAY(x0[1])) →* java.lang.Object(ARRAY(x0[2]))∧x1[1] →* x1[2]∧0 →* x2[2])
(3) -> (2), if (java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[2]))∧x1[3] →* x1[2]∧x2[3] + 1 →* x2[2])
(2) -> (3), if (x2[2] > -1 && x2[2] < 100 ∧java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[3]))∧x1[2] →* x1[3]∧x2[2] →* x2[3])
(1) -> (4), if (java.lang.Object(ARRAY(x0[1])) →* java.lang.Object(ARRAY(x0[4]))∧x1[1] →* x1[4]∧0 →* 100)
(3) -> (4), if (java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[4]))∧x1[3] →* x1[4]∧x2[3] + 1 →* 100)
(4) -> (5), if (x1[4] > -1 ∧java.lang.Object(ARRAY(x0[4])) →* java.lang.Object(ARRAY(x0[5]))∧x1[4] →* x1[5])
(7) -> (8), if (1876_0_exp_Load(x0[7], x1[7]) →* 1438_0_exp_Return(x0[8])∧x0[7] →* x0[8]∧x1[7] →* 0)
(7) -> (9), if (1876_0_exp_Load(x0[7], x1[7]) →* 1113_0_power_Return∧x0[7] →* x2[9]∧x1[7] →* x1[9])
(9) -> (10), if (x1[9] > -1 ∧x2[9] →* x2[10]∧x1[9] →* x1[10])
(14) -> (10), if (x1[14] > -1 ∧x2[14] →* x2[10]∧x1[14] →* x1[10])
(12) -> (13), if (1815_0_cos_Load(x0[12], x1[12]) →* 1438_0_exp_Return(x0[13])∧x0[12] →* x0[13]∧x1[12] →* 0)
(12) -> (14), if (1815_0_cos_Load(x0[12], x1[12]) →* 1113_0_power_Return∧x0[12] →* x2[14]∧x1[12] →* x1[14])
(16) -> (17), if (1760_0_sin_Load(x0[16], x1[16]) →* 1438_0_exp_Return(x0[17])∧x0[16] →* x0[17]∧x1[16] →* 0)
(16) -> (18), if (1760_0_sin_Load(x0[16], x1[16]) →* 1438_0_exp_Return(x0[18])∧x0[16] →* x3[18]∧x1[16] →* x2[18])
(18) -> (19), if (x2[18] > -1 ∧1438_0_exp_Return(x0[18]) →* 1438_0_exp_Return(x0[19])∧x3[18] →* x3[19]∧x2[18] →* x2[19])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(3) -> (2), if (java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[2]))∧x1[3] →* x1[2]∧x2[3] + 1 →* x2[2])
(2) -> (3), if (x2[2] > -1 && x2[2] < 100 ∧java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[3]))∧x1[2] →* x1[3]∧x2[2] →* x2[3])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(3) -> (2), if (java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[2]))∧x1[3] →* x1[2]∧x2[3] + 1 →* x2[2])
(2) -> (3), if (x2[2] > -1 && x2[2] < 100 ∧java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[3]))∧x1[2] →* x1[3]∧x2[2] →* x2[3])
(1) (COND_2000_0_MAIN_GE(TRUE, java.lang.Object(ARRAY(x0[3])), x1[3], x2[3])≥NonInfC∧COND_2000_0_MAIN_GE(TRUE, java.lang.Object(ARRAY(x0[3])), x1[3], x2[3])≥2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))∧(UIncreasing(2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥))
(2) ((UIncreasing(2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_11] = 0∧[1 + (-1)bso_12] ≥ 0)
(3) ((UIncreasing(2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_11] = 0∧[1 + (-1)bso_12] ≥ 0)
(4) ((UIncreasing(2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_11] = 0∧[1 + (-1)bso_12] ≥ 0)
(5) ((UIncreasing(2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_11] = 0∧0 = 0∧[1 + (-1)bso_12] ≥ 0)
(6) (&&(>(x2[2], -1), <(x2[2], 100))=TRUE∧java.lang.Object(ARRAY(x0[2]))=java.lang.Object(ARRAY(x0[3]))∧x1[2]=x1[3]∧x2[2]=x2[3] ⇒ 2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥NonInfC∧2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])∧(UIncreasing(COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥))
(7) (>(x2[2], -1)=TRUE∧<(x2[2], 100)=TRUE ⇒ 2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥NonInfC∧2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])∧(UIncreasing(COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥))
(8) (x2[2] ≥ 0∧[99] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥)∧[(-1)bni_13 + (-1)Bound*bni_13] + [(-1)bni_13]x2[2] ≥ 0∧[(-1)bso_14] ≥ 0)
(9) (x2[2] ≥ 0∧[99] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥)∧[(-1)bni_13 + (-1)Bound*bni_13] + [(-1)bni_13]x2[2] ≥ 0∧[(-1)bso_14] ≥ 0)
(10) (x2[2] ≥ 0∧[99] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥)∧[(-1)bni_13 + (-1)Bound*bni_13] + [(-1)bni_13]x2[2] ≥ 0∧[(-1)bso_14] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(COND_2000_0_MAIN_GE(x1, x2, x3, x4)) = [-1] + [-1]x4
POL(java.lang.Object(x1)) = [-1]
POL(ARRAY(x1)) = [-1]
POL(2000_0_MAIN_GE(x1, x2, x3)) = [-1] + [-1]x3
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(-1) = [-1]
POL(<(x1, x2)) = [-1]
POL(100) = [100]
COND_2000_0_MAIN_GE(TRUE, java.lang.Object(ARRAY(x0[3])), x1[3], x2[3]) → 2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))
2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2]) → COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])
2000_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2]) → COND_2000_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer